3

我正在编写一个 Java 应用程序,我只需要它来更改 ini 文件中的一个键设置。我正在使用 ini4j 来执行此操作,但在加载文件时遇到了一些问题。

该文件如下所示:

[SECTION 1]
#Some Commented text
Key1=value 1 for key 1
+value 2 for key 1
+value 3 for key 1

Key2=value for key 2<BR>
Key3=value for key 3<BR>

发生的事情是,当我的应用程序更改一个设置(例如键 3)时,它会更改整个文件,我会在下面得到我所拥有的:

[SECTION 1]
#Some Commented text
Key1=value 1 for key 1
+value 2 for key 1=
+value 3 for key 1=

Key2=value for key 2
Key3=new value 1 for key 3
+new value 2 for key 3

请注意,ini4j 将我在新行上的多值键识别为键设置并=在其末尾放置一个符号,并将所有注释从;to更改#(这不应该引起问题,但宁愿除了键之外别无其他我指定更改)。

当我使用下面的代码片段加载 ini 文件时,我能够隔离发生的问题:

String iniFileLoc = "my path\\iniFile.ini";

    String valueLine = "value 1 for key 3\n" + "+value 2 for key 3\n";
    Wini ini = new Wini();
    File iniFile = new File(iniFileLoc);
    ini.load(iniFile);


        ini.add("SECTION1", "Key3", valueLine);

        ini.store(iniFile);

除了我指定的特定键之外,有什么方法可以防止 ini4j 更改其他任何内容?如果没有,我怎样才能让 ini4j 无法将未注释的行识别为必要的关键设置。我正在使用的文件必须采用这种格式,因此除了使用符号ini之外,我无法指定另一种拥有多值键的方法。+

任何帮助将不胜感激。

谢谢

4

0 回答 0