В игре, в которой я сейчас работаю, я хочу сделать так, чтобы при запуске игры вы получили предыдущий балл, который у вас был перед тем, как вы ушли. Я уже сделал файл сохранения для оценки с помощью этого кода.Оценка игрока по игре
try{
File getScore = new File("Score.dat");
FileOutputStream scoreFile = new FileOutputStream(getScore);
byte[] saveScore = score.getBytes();
scoreFile.write(saveScore);
}catch(FileNotFoundException ex){
}catch(IOException ex){
}
Счет отображается в виде строки, так для этого на начать игру должны получить счет внутри .dat файла в виде строки, так что я могу сравнять счет строки на строку, которая была сгенерирована при запуске. Я попытался использовать код, показанный ниже.
try{
BufferedReader br = new BufferedReader(new FileReader("Score.dat"));
score = br.toString();
}catch (FileNotFoundException ex){
}
Но когда я использую этот код, я получаю это сообщение об ошибке.
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "[email protected]"
Что такое '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' – TheMerovingian
@ TheMerovingian Это 'String', но каждый раз, когда я его обновляю, я меняю его на' int' add 10 на 'int', а затем вернул его в' String' –
1. Вы должны закрыть 'FileOutputStream' вызовите 'scoreFile.close()'; 2. Вы должны использовать 'br.readLine()' вместо 'br.toString()'. – SeniorJD