我已经使用HashMap使用以下代码在文本文档上存储所需的信息,现在我将如何将数据加载回我的程序中,当前的保存工作就可以了。
当前存储的文本文件
KEY=VALUE
例如,我的文本文件将是:
1=value
2=value
3=value
我将内容保存到此文件中的当前方式(不确定是否相关)是
public void save(HashMap<Integer, String> map) {
try {
File zone1 = new File("zones/zone1");
FileOutputStream fileOut = new FileOutputStream(zone1);
PrintWriter print = new PrintWriter(fileOut);
for (Map.Entry<Integer, String> m : map.entrySet()) {
print.println(m.getKey() + "=" + m.getValue());
}
print.flush();
print.close();
print.close();
} catch (Exception e) {
}
}
答案 0 :(得分:0)
如果您真的想手工操作(如注释所述,这已经在java.util.Properties中实现),请参见:
java.io.BufferedReader :: readLine java.lang.String :: split
答案 1 :(得分:0)
从文件读取键值并将键值存储在HashMap中的示例。
try (InputStream input = new FileInputStream("path/to/file")) {
Map<Integer,String> loadedFromTextFileHashMap=new HashMap<>();
Properties prop = new Properties();
prop.load(input);
prop.forEach((key, value) -> loadedFromTextFileHashMap.put(Integer.valueOf(key.toString()), value.toString()));
} catch (IOException io) {
io.printStackTrace();
}