有没有办法从输入文件中将数据存储到数组中,在该文件中给出了数组的名称?

时间:2014-11-01 05:46:42

标签: java arrays file-io

我想要一个输入文件,格式如下:  ArrayName值 其中ArrayName是要存储值的数组的名称。 每行输入可以存储在新的或现有的数组中。我遇到的问题是我不知道如何从文件中获取ArrayName并从中创建一个数组。或者如果数组已经存在,我不知道如何将值存储到具有该名称的数组中。

2 个答案:

答案 0 :(得分:0)

我不确定你为什么要从文件中命名你的数组,也许你可以解释一下这个。但同时你要做的一件事就是:
1.以HashMap<String, int[]>的形式声明数组的HashMap(即如果您的数据是整数) 2.从文件中读取数组的名称,并使用数组名称作为键将其元素存储在地图中。

答案 1 :(得分:0)

一旦你完成了它,你怎么知道你做了哪个阵列?我建议你使用Map<String, List<String>>

Map<String, List<String>> map = new HashMap<>();

然后,您可以使用Scanner从文件中读取,然后使用try-with-resources清理

try (Scanner s = new Scanner(new File(filePath))) {
    Map<String, List<String>> map = new HashMap<>();
    while (s.hasNextLine()) {
        String line = s.nextLine();
        String[] parts = line.split("\\s+");
        String name = (parts.length > 1) ? parts[0] : "";
        String value = (parts.length > 1) ? parts[1] : "";
        List<String> al = map.get(name);
        if (al == null) {
            al = new ArrayList<>();
            map.put(name, al);
        }
        al.add(value);
    }
    System.out.println(map); // <-- print the map.
} catch (Exception e) {
    e.printStackTrace();
}