java 中的 ini 文件解析

Ini file parsing in java

我正在尝试使用 ini4j 读取 INI 文件。格式为

[header]
key = value
Ini confFile = new Ini(new File(filePath));
Map<String, String> technologyMap = confFile.get("header");

for (Map.Entry<String, String> techMap : technologyMap.entrySet()) {
    System.out.println(confFile.get("header", "\"" + techMap.getKey() +      "\"");
}

我得到 null 作为我的输出。

如果我静态传递值,我会得到正确的输出,即

System.out.println(confFile.get("header", "value");

给出了预期的输出。
这里动态传值有什么问题?

当然会得到nullheader 部分中没有名为 "key" 的选项(请注意您添加的引号)。

如果您只想转储一个部分中的所有值(尽管我不明白为什么要转储没有键的值),请执行以下操作:

for (String value : technologyMap.values()) {
    System.out.println(value);
}

如果您真的也想打印密钥(更有意义),那么:

for (Map.Entry<String, String> entry : technologyMap.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}

调用 confFile.get("header", key),当你已经有了值,这不是正确的方法。