我有 2 个哈希图,我希望在单击菜单按钮时都保存它们,并且我希望能够加载它们(在示例中我只保存一个)。
void saveHash(HashMap<String, Object> hash, HashMap<String, Object> logicalMatrix2) {
JFrame parentFrame = new JFrame();
JFileChooser fileChooser = new JFileChooser();
fileChooser.setDialogTitle("Especifique um diretório:");
fileChooser.setAcceptAllFileFilterUsed(false);
int userSelection = fileChooser.showSaveDialog(parentFrame);
if (userSelection == JFileChooser.APPROVE_OPTION) {
File fileToSave = new File(fileChooser.getSelectedFile() + ".alg");
Set<Entry<String, Object>> entry = hash.entrySet();
FileWriter outFile;
try {
outFile = new FileWriter(fileToSave.getAbsolutePath());
PrintWriter out = new PrintWriter(outFile);
out.println(entry);
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
有了这个,我可以将 entrySet() 保存在一个 txt 文件中,但是我不知道如何重新加载这个内容。该软件将从空的 HashMap 开始,然后,通过加载过程,我希望能够相应地填充键及其各自的值。但是,考虑到它保存在一个 txt 文件中,我如何通过它运行“读取循环”来识别未知键?当我们考虑到每个键的值都是一个 ArrayList 时,问题就变得更加复杂了。
非常感谢!