如何解析包含 Java 部分的 ini 文件?
How to parse ini file with sections in Java?
这是一个示例 ini 文件:
[link#1]
alias=My Link 1
link=https://www.yandex.ru/
[link#2]
alias=My Link 2
link=https://mail.ru/
[link#3]
alias=My Link 3
link=http://point.md/ru/
我已经看到了如何解析它,但是键是相同的,我需要把它放到 ArrayList<LinkObject>
中。有谁知道一个好的解决方案吗?或者我们应该以不同的方式格式化 .ini 文件吗?
我可以建议你 ini4j. This is small and very easy to use library. Just download 文件或将依赖项包含到你的 maven 配置中:
<dependency>
<groupId>org.ini4j</groupId>
<artifactId>ini4j</artifactId>
<version>0.5.4</version>
</dependency>
现在加载 .ini 文件只需执行以下操作:
Wini ini = new Wini(new File("your file path"));
使用示例:
//output names of all sections
Collection<Profile.Section> list = ini.values();
for(Profile.Section section : list){
System.out.println(section.getName());
}
//fetch and output option value
String value = ini.fetch("link#1", "alias");
System.out.println(value);
//output keys of all options of one section
Profile.Section section = ini.get("link#1");
for(String key : section.keySet()){
System.out.println(key);
}
这是一个示例 ini 文件:
[link#1]
alias=My Link 1
link=https://www.yandex.ru/
[link#2]
alias=My Link 2
link=https://mail.ru/
[link#3]
alias=My Link 3
link=http://point.md/ru/
我已经看到了如何解析它,但是键是相同的,我需要把它放到 ArrayList<LinkObject>
中。有谁知道一个好的解决方案吗?或者我们应该以不同的方式格式化 .ini 文件吗?
我可以建议你 ini4j. This is small and very easy to use library. Just download 文件或将依赖项包含到你的 maven 配置中:
<dependency>
<groupId>org.ini4j</groupId>
<artifactId>ini4j</artifactId>
<version>0.5.4</version>
</dependency>
现在加载 .ini 文件只需执行以下操作:
Wini ini = new Wini(new File("your file path"));
使用示例:
//output names of all sections
Collection<Profile.Section> list = ini.values();
for(Profile.Section section : list){
System.out.println(section.getName());
}
//fetch and output option value
String value = ini.fetch("link#1", "alias");
System.out.println(value);
//output keys of all options of one section
Profile.Section section = ini.get("link#1");
for(String key : section.keySet()){
System.out.println(key);
}