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