データの保存および/またはロードを除いて、必要なすべてのことを行います。try/catch で例外が発生しなくても、問題は読み込みにあると思います。ファイルはプラグインによって作成されますが、閉じたときに保存されたと思われるデータは読み込まれません...
完全なクラスはここにあります: http://pastebin.com/pK3NCPfM
読み込み方法:
public void getClans(){
try {
// Load the Clans
FileInputStream f_in = new FileInputStream("Clans.data");
ObjectInputStream obj_in = new ObjectInputStream (f_in);
@SuppressWarnings("unchecked")
HashMap<String, Clan> Clans = (HashMap<String, Clan>) obj_in.readObject();
obj_in.close();
getLogger().info("Clans successfully loaded");
} catch (Exception e) {
getLogger().info("Error loading clan files...");
getLogger().info(e.getMessage());
}
}
public void getPlayers(){
try {
// Load the players that are in a clan
FileInputStream f_in = new FileInputStream("clanPlayers.data");
ObjectInputStream obj_in = new ObjectInputStream (f_in);
@SuppressWarnings("unchecked")
HashMap<String, String> clanPlayers = (HashMap<String, String>) obj_in.readObject();
obj_in.close();
getLogger().info("clanPlayers successfully loaded");
} catch (Exception e) {
getLogger().info("Error loading clanPlayer files...");
getLogger().info(e.getMessage());
}
}
更新: なぜこれが機能しないのかわかりません。誰かが問題の行を修正するのを手伝ってくれるなら、私は行く準備ができているはずです!
public void getPlayers(){
try {
// Load the players that are in a clan
FileInputStream f_in = new FileInputStream("clanPlayers.data");
ObjectInputStream obj_in = new ObjectInputStream (f_in);
@SuppressWarnings("unchecked")
clanPlayers = (HashMap<String, String>) obj_in.readObject(); // Error on this line.
//I want the HashTable ClanPlayers to be a copy of the object that was saved
obj_in.close();
getLogger().info("clanPlayers successfully loaded");
} catch (Exception e) {
getLogger().info("Error loading clanPlayer files...");
getLogger().info(e.getMessage());
}
}