動作する独自の bufferedwriter を作成しました。でも本当にそうなのか分からない?
ログアウト時に (200 コイン) の bufferedreader を作成し、ログインすると (545453 コイン) またはその他の金額を取得しました。これは bufferedwriter であると確信しています。
public static int coins;
private static final String DIR = "./Data/";
public static boolean SavePlayer;
public static void saveAll() {
SavePlayer = true;
if (!SavePlayer) {
System.out.println("[WoG Error]: Their was an error saving players.");
return;
}
saveGame();
}
public static boolean saveGame() {
if (Player.playerName == null) {
return false;
}
try {
File file = new File(DIR + Player.playerName.toLowerCase() + ".dat");
if (!file.exists())
file.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(file);
DataOutputStream o = new DataOutputStream(fileOutputStream);
o.writeUTF(Player.playerName);
o.writeInt(Player.coins);
//o.writeInt(Player.height);
o.close();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
public static boolean loadGame() throws InterruptedException {
try {
File file = new File(DIR + Player.playerName.toLowerCase() + ".dat");
if (!file.exists()) {
System.out.println("[WoG Error] Sorry but the account does not exist.");
return false;
}
FileInputStream fileInputStream = new FileInputStream(file);
DataInputStream l = new DataInputStream(fileInputStream);
Player.playerName = l.toString();
Player.coins = l.readInt();
//Player.height = l.readInt();
l.close();
fileInputStream.close();
Player.home();
} catch (final IOException e) {
e.printStackTrace();
return false;
}
return true;
}
}
すべて (整数) を正しく保存するにはどうすればよいですか?