gpt4 book ai didi

java - 读写文字不完整?

转载 作者:行者123 更新时间:2023-11-30 07:56:41 26 4
gpt4 key购买 nike

从文本文件读取和写入似乎有问题。

虽然有两个不同的文件,但我打印了内容,但它似乎与文本文件中的内容不一样。

我尝试添加 + 和不添加,以及添加 bw.close() 或不添加。我也尝试过使用扫描仪,但它没有打印出任何东西。

它能以某种方式改变吗?

  private void readFromFile(File cf2) throws IOException, Exception {

FileReader fr = new FileReader(cf2);
try (BufferedReader bw = new BufferedReader(fr)) {
System.out.println("Wait while reading !");

while(bw.readLine() != null)
s1 += bw.readLine();
System.out.println(s1);
bw.close();
} System.out.println("File read !");
}

最佳答案

一半的 readLine 调用用于检查数据是否为 ​​null,另一半被添加到 s1。这就是为什么您只获得部分输入的原因。

要修复您的代码,请像这样创建一个循环:

while (true) {
String s = bw.readLine();
if (s == null) break;
s1 += s;
}

但是,这是非常低效的。你最好使用 StringBuffer:

StringBuffer sb = new StringBuffer()
while (true) {
String s = bw.readLine();
if (s == null) break;
sb.append(s);
// Uncomment the next line to add separators between lines
// sb.append('\n');
}
s1 = sb.toString();

请注意,您文件中的所有 '\n' 符号都不会出现在输出字符串中。要重新添加分隔符,请取消注释上面代码中的注释行。

关于java - 读写文字不完整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41918590/

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