ini4jneneneba API-读取部分的所有键并创建它的映射



我是ini4j API的新手http://mvnrepository.com/artifact/org.ini4j/ini4j.我有一个要求,如果将key作为CT传递,那么它应该检查所有section,并在Java Map中填充键值对(如10=CT、11=CT等)。我们该怎么做?

城市不是固定的,它可能是许多城市。我在这里只展示了4个。

我的小工具.ini

[CapeTown] 
10=CT
11=CT
12=CT
13=JO
14=JO
15=CT
17=WN
[Wonderers] 
21=CT
22=JO
23=WN
24=JO
25=CT
26=CT
27=CT
[Johanbege]
30=CT
31=CT
32=JO
33=JO
34=CT
35=CT
36=WN
[Durban]
40=CT
41=CT
42=JO
43=JO
44=CT
45=CT
46=WN

我启动的代码:

public class CityReader {
    public static void main(String[] args) throws InvalidFileFormatException, IOException {
        File file = new File("src/main/resources/widget.ini");
        Ini ini = new Ini(file);
    }
}

我为您开发了一些东西。希望这能解决你的问题。

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.ini4j.Ini;
import org.ini4j.InvalidFileFormatException;
import org.ini4j.Profile.Section;
public class CityReader {
    public static void main(String[] args) throws InvalidFileFormatException, IOException {
        Map<String, String> mapCT = new HashMap<String, String>();
        Map<String, String> mapJO = new HashMap<String, String>();
        File file = new File("src/main/resources/widget.ini");
        Ini ini = new Ini(file);
        for (String sectionName: ini.keySet()) {
            Section section = ini.get(sectionName);
            for (String optionKey: section.keySet()) {
                if(section.get(optionKey).equals("CT"))
                    mapCT.put(optionKey, section.get(optionKey));
                if(section.get(optionKey).equals("JO"))
                    mapJO.put(optionKey, section.get(optionKey));
            }
        }
        System.out.println(mapCT);
        System.out.println(mapJO);
    }
}

如果你想做一些动态的事情,那么使用下面的:

public class CityReader {
    public static void main(String[] args) throws InvalidFileFormatException, IOException {
        File file = new File("src/main/resources/widget.ini");
        Ini ini = new Ini(file);
        Map<String, String> mapkey = new HashMap<String, String>();
        List<String> key = new ArrayList<String>();
        key.add("CT");
        key.add("JO");
        for (String s : key) {
            for (String sectionName: ini.keySet()) {
                Section section = ini.get(sectionName);
                for (String optionKey: section.keySet()) {
                    if(section.get(optionKey).equals(s))
                        mapkey.put(optionKey, section.get(optionKey));
                }
            }
        }
        System.out.println(mapkey);
    }
}

相关内容

  • 没有找到相关文章

最新更新