我正在用Java替代传统应用程序。要求之一是必须将旧应用程序使用的ini文件原样读取到新的Java应用程序中。此ini文件的格式是常见的Windows样式,带有标头部分和键=值对,使用#作为注释字符。我尝试使用Java中的Properties类,但是如果不同的标头之间存在名称冲突,那当然是行不通的。因此,问题是,读取此INI文件和访问密钥的最简单方法是什么?
3 回答

ibeautiful
TA贡献1993条经验 获得超5个赞
我使用的库是ini4j。它轻巧,可以轻松解析ini文件。此外,它不使用对10,000个其他jar文件的神秘依赖,因为设计目标之一是仅使用标准Java API
这是有关如何使用库的示例:
Ini ini = new Ini(new File(filename));
java.util.prefs.Preferences prefs = new IniPreferences(ini);
System.out.println("grumpy/homePage: " + prefs.node("grumpy").get("homePage", null));

冉冉说
TA贡献1877条经验 获得超1个赞
正如提到的,ini4j可以用来实现这一目标。我再举一个例子。
如果我们有这样的INI文件:
[header]
key = value
以下应显示value到STDOUT:
Ini ini = new Ini(new File("/path/to/file"));
System.out.println(ini.get("header", "key"));
添加回答
举报
0/150
提交
取消