gpt4 book ai didi

java - TXT。可以添加到的文件而不删除以前的数据

转载 作者:行者123 更新时间:2023-12-02 10:21:54 25 4
gpt4 key购买 nike

我的任务是重新创建一个游戏。要求之一是有一个txt。文件保存游戏中的前 10 名分数,并在用户继续玩游戏时更新它们。该文件还应该可供用户查看。

到目前为止,我已经能够创建文件并向其中添加分数,但我一遍又一遍地尝试添加新分数而不删除旧分数,我尝试过 new FileWriter("file", true) 以及网上建议的其他方法,但都不起作用。

如果我什至无法在 txt 上保留多个分数,我不知道如何对数据进行排序并替换分数,因为更高的分数会出现。文件。请让我知道一个简单的方法来做到这一点,我对编程非常陌生。

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]);
}
}
}

最佳答案

简短回答:阅读 stackoverflow 上的这个问题 how to append text to existing file.

问题的解决方案:当您获得新分数时,请执行以下操作。

  1. 从文件中读取现有行并将其存储在 int 数组中。
  2. 在数组中添加新分数(仅当它大于现有最低分数时)。
  3. 对数组进行排序(如果已使用新分数进行更新。请使用 google ComparatorComparable 进行排序)。
  4. 将数组写入文件(如果已使用新分数更新)。

关于java - TXT。可以添加到的文件而不删除以前的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54283926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com