gpt4 book ai didi

java reader 以 null 结尾字符串

转载 作者:行者123 更新时间:2023-12-01 21:59:28 25 4
gpt4 key购买 nike

我正在使用一种常见的方法来读取java中的文本文件:

public String readIndex() throws IOException{
if(!fileExisits)
return "";
String indexInFile = "";
while((indexInFile = reader.readLine())!=null){
indexInFile += reader.readLine();
System.out.println("indexxxxxxxx: " + indexInFile);
}
System.out.println("reader get: " + indexInFile);
return indexInFile;
}

输出是:是文件::true

indexxxxxxxx: 1fefefe\fefeef
indexxxxxxxx: effe
indexxxxxxxx: effe
indexxxxxxxx: null
reader get: null
null

正如您在最后一行中看到的,输出字符串 indexInFile 被设置为 null。我的读者是:

reader = new BufferedReader(new FileReader(fileName));

有什么建议吗?为什么会发生这种情况?希望我编写所有相关代码。

最佳答案

当遇到最后一行时,以下reader.readLine()将返回零。然后 while 循环的条件,赋值 indexInFile=null 将被调用。 while 循环将退出,因为 (indexInFile=null)==null)

此外,由于您在 for 循环中调用了 reader.readLine() ,因此您可能会在 for 循环中出现 null 。我认为以下代码将解决您的问题:

public String readIndex() throws IOException{
if(!fileExisits)
return "";
String line;
String indexInFile = "";
while((line = reader.readLine())!=null){
indexInFile += line;
System.out.println("indexxxxxxxx: " + line);
}
System.out.println("reader get: " + indexInFile);
return indexInFile;
}

关于java reader 以 null 结尾字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33805944/

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