如何将 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]);
}
实际上我已经编写了一个代码,它接受名称和 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]);
}