gpt4 book ai didi

java - 即使文件中有文本,BufferedReader 也会返回 null

转载 作者:行者123 更新时间:2023-12-01 07:27:55 24 4
gpt4 key购买 nike

BufferedReader rea = new BufferedReader(new FileReader("points.txt"));
BufferedWriter writ = new BufferedWriter(new FileWriter("points.txt"));

ArrayList<String> top = new ArrayList<String>();

// checking if file is empty, so it enters imaginary players and scores
// if it is.
if (rea.readLine() == null) {
for (int i = 1; i < 6; i++) {
writ.write("Player" + i + "\t\t" + "99:99");
writ.newLine();
}
}
while ((readthis = rea.readLine()) != null) {
top.add(readthis);
}

所以发生的情况是,即使我的文件“points.txt”中已经有一些组成的玩家,它仍然在第一个 if 语句中返回 true,因此新的玩家打印到文件中。但问题是,当我尝试在 while 句子中读取文件时,它甚至没有通过它。我检查了 System.out.println() 并发现它返回 null。即使我已经看到它填充了新数据,它怎么会返回 null?我究竟做错了什么?我已经在这个问题上挣扎了大约一个半小时,尝试了我所知道的一切。非常感谢任何帮助。

最佳答案

通过使用 new BufferedWriter(new FileWriter("points.txt")); 您将覆盖文件以前的内容。如果您想在现有文件末尾添加新内容,您需要使用带有 boolean 附加参数的构造函数,例如

new BufferedWriter(new FileWriter("points.txt"),true);

另外,不要忘记刷新/关闭您的读取器/写入器。

关于java - 即使文件中有文本,BufferedReader 也会返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21272711/

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