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

java-从文本文件读取哈希表,java,file,hashtable,Java,File,Hashtable,我有两个文件-write.java和read.java。java文件将哈希表写入文本文件,read.java的功能是从文本文件中读取该哈希表 write.java: Hashtable hash1 = new Hashtable(); hash1.put("1", "Hi!"); FileWriter fileWriter = new FileWriter("abc.txt"); BufferedWriter bufferedWriter = new BufferedWriter(fileWr

我有两个文件-
write.java
read.java
。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();
它会逐个写入文本文件。现在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();

但是
变量是一个字符串…如何将其转换为哈希表以执行进一步的操作?

使用属性代替哈希表。它能够加载和存储

使用属性而不是哈希表。它能够加载和存储

,正如其他人所提到的,您不应该真正地从它的
到string()
输出重构它。话虽如此,以下是你如何用番石榴来完成它:

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);
Map Map=Splitter.on(“,”)
.withKeyValueSeparator(“=”)
.split(line.subSequence(1,line.length()-1));
//如果您特别需要哈希表:
Hashtable Hashtable=新的Hashtable(map);

正如其他人所提到的,您不应该真正地从它的
toString()
输出重构它。话虽如此,以下是你如何用番石榴来完成它:

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);
Map Map=Splitter.on(“,”)
.withKeyValueSeparator(“=”)
.split(line.subSequence(1,line.length()-1));
//如果您特别需要哈希表:
Hashtable Hashtable=新的Hashtable(map);

堆栈溢出不是代码写入服务。试着自己写,然后你可以问一个问题,如果你在写的时候遇到了一个特定的问题,不要用
toString()
来写映射,这将很难解析。如果键和值都是字符串,那么应该查看Properties类。另一个好的选择是使用众多库中的一个将映射序列化为JSON;因此,您不必从字符串转换为哈希表,反之亦然。堆栈溢出不是代码编写服务。试着自己写,然后你可以问一个问题,如果你在写的时候遇到了一个特定的问题,不要用
toString()
来写映射,这将很难解析。如果键和值都是字符串,那么应该查看Properties类。另一个好的选择是使用众多库中的一个将映射序列化为JSON;因此,您不必从字符串转换为哈希表,反之亦然。