我正在尝试使用ini4j读取多个值,文档说应该可以通过Options类来实现。

这是我的示例.ini文件(./dwarfs.ini)

[dopey]
age = 23
fortuneNumber = 11
fortuneNumber = 33
fortuneNumber = 55


这是读取它的代码:

Ini ini = new Ini();
Config conf = new Config();
conf.setMultiOption(true);
ini.setConfig(conf);
ini.load(new FileReader("./dwarfs.ini"));


但是fortuneNumber属性在阅读后仅是55,我希望它是数组或列表,任何东西。

最佳答案

ini4j project的Web状态包含(以及其他)非常简单的tutorials。这些教程之一介绍了如何检索多个值。使用返回单个引用的访存方法时,如何期望获得列表或数组?看看API

在本教程中,有一部分解释了多个值:


  [ini4j]库引入了MultiMap接口,这是对正常情况的扩展
  映射,但允许每个键乘以值。您可以简单地索引值
  给定键,类似于JavaBeans api中的索引属性。


还有一个例子:

String n1 = sneezy.get("fortuneNumber", 0);  // = 11
String n2 = sneezy.get("fortuneNumber", 1);  // = 22
String n3 = sneezy.get("fortuneNumber", 2);  // = 33
String n4 = sneezy.get("fortuneNumber", 3);  // = 44


在此示例中,sneezy是Section,但它也应与Ini一起使用。

只是为了使其完整:Ini也知道方法List<V> getAll(Object key)

10-06 02:05