【问题标题】:Ini file parsing in javajava中的ini文件解析
【发布时间】:2016-07-29 05:36:53
【问题描述】:

我正在尝试使用 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");

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

【问题讨论】:

  • 确定 confFile.get("header", "value")不返回null吗?我希望confFile.get("header", "key") 返回value

标签: java ini


【解决方案1】:

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

如果您只想转储一个部分中的所有值(尽管为什么要转储没有键的值的原因超出了我的范围),请执行以下操作:

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),当你已经拥有价值时,不是正确的方法。

【讨论】:

  • 是的,问题出在引号上,我删除了它们并且效果很好。我只需要特定键的值,并且该键已映射到其他地方
猜你喜欢
  • 2012-11-18
  • 1970-01-01
  • 2010-09-29
  • 2016-04-10
  • 2019-03-09
  • 2021-01-06
  • 2018-08-30
  • 2012-09-24
  • 1970-01-01
相关资源
最近更新 更多