我正在编写一个 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
之外,我无法指定另一种拥有多值键的方法。+
任何帮助将不胜感激。
谢谢