2 つのハッシュマップがあり、メニュー ボタンをクリックしたときに両方を保存し、それらをロードできるようにしたい (この例では、1 つだけ保存しています)。
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 であると考えると、問題はさらに複雑になります。
どうもありがとうございました!