我有两个文件 - write.java
和read.java
。 write.java文件将哈希表写入文本文件,read.java的功能是从文本文件中读取哈希表。
write.java:
Hashtable hash1 = new Hashtable();
hash1.put("1", "Hi!");
FileWriter fileWriter = new FileWriter("abc.txt");
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write(hash1.toString());
bufferedWriter.close();
它将peroperly写入文本文件。现在read.java必须从abc.txt读取此哈希表,然后再添加一个键值。实现这一目标的最佳方法是什么?
read.java:
String dnstemp = "abc.txt";
FileReader fileReader = new FileReader(dnstemp);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line = bufferedReader.readLine();
bufferedReader.close();
但line
变量是一个字符串...如何将其转换为哈希表来执行进一步的操作?
答案 0 :(得分:0)
使用属性代替Hashtable。它具有加载和存储的能力
答案 1 :(得分:0)
正如其他人所提到的那样,你不应该从它的toString()
输出中重构它。话虽如此,在这里你可以用Guava完成它:
Map<String, String> map = Splitter.on(", ")
.withKeyValueSeparator('=')
.split(line.subSequence(1, line.length() - 1));
// if you specifically need a Hashtable:
Hashtable hashtable = new Hashtable(map);