したがって、HashMap
プロパティをProperties
ファイルに保存する際にキャストの問題が発生します。これは、のキーHashMap
がキャストできないオブジェクトであるjava.lang.String
ためです。(String, String)
HashMap
(Object, Long)
HashMap
の内容をファイルに保存してHashMap
、次にプログラムを実行したときにそれらの内容を読み込めるようにしたいだけです。
HashMaps
私は、保存される前に含まれていたオブジェクトを補充しようとする無駄な試みを何度も経験しました。オブジェクトを文字列に変換する簡単な方法を考えてみましたが、インデックスが作成されProperties
てHashMaps
いないため、これらの文字列を必要なオブジェクトに戻すことはできません。これを達成する方法は?
これが私がやろうとしていることです:
public File savedHashMaps = new File("SavedHashMaps.list");
// in my case, the object is 'Location' from an implemented API
public Map<Location, Long> map = new HashMap<Location, Long>();
public void saveMaps() {
Properties prop = new Properties();
try {
if (!map.isEmpty()) {
prop.load(new FileInputStream(savedHashMaps));
prop.putAll(map);
prop.store(new FileOutputStream(savedHashMaps), null);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void loadMaps() {
Properties prop = new Properties();
try {
prop.load(new FileInputStream(savedHashMaps));
if (!prop.isEmpty()) {
map.putAll((Map)prop);
}
} catch (IOException e) {
e.printStackTrace();
}
}