如何将 HashMap 数据保存在我电脑的任何位置?

How do I save a HashMap data in any location in my pc?

实际上我已经编写了一个代码,它接受名称和 phone 号码的输入,以及 returns 一个声明

return "You are calling "+name+"; Phone Number: "+phoneNumber;

现在它有一个 HashMap

键名; 价值- phone 数字...

它还有一个获取输入并将其存储在 HashMap 中的方法

还有一个方法returns上面的语句表明你正在调用......

我想做的是将数据保存在计算机的任何位置,这样每当用户输入姓名和 phone 号码时,它就会被保存,这样用户就可以随时调用而无需保存相同的东西两次。 ......

您可能只想将HashMap保存到与程序工作目录相同的文件中,然后在初始化HashMap时调用文件内容进行读写。

这可以通过使用 BufferedWriter 将每个键及其值存储在文本文件的单独行中来完成。

例如

BufferedWriter a = new BufferedWriter(new FileWriter("myFile.txt"));
Set<String> keys = hashMap.keySet();
for(String key: keys) {
  a.write(key+" "+hashMap.get(key));
  write.newLine();
}
a.close();

这会将每个键值对存储在文本文件中,每个条目单独一行。 然后,当您再次 运行 程序时,您想要遍历文本文件的每一行并初始化新的 HashMap 以包含您保存的所有那些键值对。 然后,您将能够添加到该列表并检索值。每当您处理完用户后,请确保使用任何新的键值映射重新更新文本文件。

程序开始时的更新可以通过以下方式完成:

HashMap<String, String> hashMap = new HashMap<>();
Scanner scan = new Scanner(new File("myFile.txt"));
while(scan.hasNextLine()) {
  String[] entry = scan.nextLine().split(" ");
  hashMap.put(entry[0], entry[1]);
}