1

私は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に従っていました。

4

1 に答える 1

1

なぜ電話しないのですか?

File inioutfile = new File(saveinijfc.getSelectedFile(), "");
//Insert here.
if(!inioutfile.exists()) {
    if(!inioutfile.createNewFile()) return;
}
Wini ini = new Wini(new File(inioutfile.getAbsolutePath()));

これにより、ファイルが存在することを確認できます。存在しない場合は作成され、作成できない場合は終了します。

于 2013-02-10T12:52:31.880 に答える