Мое задание - воссоздать игру.Одним из требований является наличие текста.файл, который сохраняет 10 лучших результатов в игре и обновляет их, когда пользователь продолжает играть.Файл также должен быть доступен пользователю для просмотра.
До сих пор я смог создать файл и добавить к нему счет, но я пытался снова и снова добавлять новые результаты, не стирая старые, я пытался new FileWriter("file", true)
идругие методы, которые были предложены онлайн, но ни один из них не работает.
Я не могу понять, как я могу сортировать данные и заменять баллы, когда приходят более высокие баллы, если я не могу даже сохранить более одного балла в текстовом формате.файл.Пожалуйста, дайте мне знать простой способ сделать это, я чрезвычайно новичок в программировании.
public static void scores() {
PrintWriter output = null;
try {
output = new PrintWriter(new FileWriter("/Users/name/Desktop/javaoutput.txt"));
} catch (IOException e) {
e.printStackTrace();
}
output.println(counter);
output.close();
}
Логично для меня создать массив, хотя что-то все еще не так.Есть идеи, как мне это исправить?
ОБНОВЛЕННЫЙ КОД:
public static void scores() {
int temp;
int line;
PrintWriter output = null;
try {
output = new PrintWriter(new FileWriter("/Users/name/Desktop/javaoutput.txt"));
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader input = null;
try {
input = new BufferedReader(new FileReader("/Users/name/Desktop/javaoutput.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
line = (Integer.parseInt(input.readLine()));
} catch (IOException e) {
e.printStackTrace();
}
for (int i = 0; i < 10; i++) {
try {
topscores[i] = (Integer.parseInt(input.readLine()));
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
topscores[10] = counter;
for (int i = 0; i < 11 - 1; i++) {
for (int j = 0; j < 11 - 1 - i; j++) {
if (topscores[j] > topscores[j + 1]) {
temp = topscores[j];
topscores[j] = topscores[j + 1];
topscores[j + 1] = temp;
}
}
}
for (int i = 0; i < 10; i++) {
output.println(topscores[i]);
}
output.close();
for (int i = 0; i < 10; i++) {
topscoress.setText(" " + topscores[i]);
}
}
}