我使用的是ini4j API http://ini4j.sourceforge.net/
到目前为止,我可以使用填充所需字段的JFileChooser从ini文件中读取内容;我需要能够获取这些文本字段的内容(作为字符串),并使用API将它们写入ini文件。
到目前为止,我拥有的代码是:
public void writeIniFile() throws IOException{
JFileChooser saveinijfc = new JFileChooser(currdir);
int savereturnval = saveinijfc.showSaveDialog(null);
if (savereturnval == JFileChooser.APPROVE_OPTION){
File inioutfile = new File(saveinijfc.getSelectedFile(), "");
Wini ini = new Wini(new File(inioutfile.getAbsolutePath()));
// [GLOBAL]
ini.put("GLOBAL", "clientname", getClientnameText());
// [PREBACKUP]
ini.put("PREBACKUP", "prebackup-enabled", String.valueOf(getPrebackupenabledSelection()));
// [OPENVPN]
ini.put("OPENVPN", "ovpnprofilename", getOvpnprofileText());
ini.put("OPENVPN", "remotegatewayip", getOpenvpngatewayipText());
// [NETWORK DRIVE]
ini.put("NETWORK DRIVE", "drive-letter", getNetworkdriveletterText());
ini.put("NETWORK DRIVE", "ipofshare", getIpofshareText());
ini.put("NETWORK DRIVE", "sharename", getSharenameText());
ini.put("NETWORK DRIVE", "shareusername", getShareusernameText());
ini.put("NETWORK DRIVE", "sharepassword", getSharepasswordText());
// [REGISTRY BACKUP]
ini.put("REGISTRY BACKUP", "registrybackup-enabled", String.valueOf(getRegistrybackupenabledSelection()));
ini.put("REGISTRY BACKUP", "hklm-software", String.valueOf(getHklmsoftwareenabledSelection()));
ini.put("REGISTRY BACKUP", "reg-custompath-enabled", getRegistrycustompathenabledSelection());
ini.put("REGISTRY BACKUP", "reg-custom-path", getRegistrycustompathText());
// [EMAIL]
ini.put("EMAIL", "emailenabled", String.valueOf(getEmailenabledSelection()));
ini.put("EMAIL", "gmailusername", getGmailusernameText());
ini.put("EMAIL", "gmailpassword", getGmailpasswordText());
ini.put("EMAIL", "clientemail", getClientemailText());
// STORE INI FILE
ini.store();
}
}我怀疑我需要创建一些输出流来写入文件,我遵循本教程http://ini4j.sourceforge.net/tutorial/OneMinuteTutorial.java.html作为参考。
发布于 2013-02-10 20:52:32
为什么不直接打电话:
File inioutfile = new File(saveinijfc.getSelectedFile(), "");
//Insert here.
if(!inioutfile.exists()) {
if(!inioutfile.createNewFile()) return;
}
Wini ini = new Wini(new File(inioutfile.getAbsolutePath()));这应该确保文件确实存在,如果文件不存在,它将创建它,如果它不能创建它,它将退出。
https://stackoverflow.com/questions/14768533
复制相似问题