java - 从文本文件中读取哈希表

时间:2016-04-21 23:03:34

标签: java file hashtable

我有两个文件 - write.javaread.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变量是一个字符串...如何将其转换为哈希表来执行进一步的操作?

2 个答案:

答案 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);