-3
static void parse(String fileName) throws IOException{
    FileReader fileReader=new FileReader((fileName));
    BufferedReader bufferedReader = new BufferedReader(fileReader);
    StringBuilder stringBuilder=new StringBuilder();
    String string;
    do{
        string=bufferedReader.readLine();
        stringBuilder.append(string);
        }while(!string.equals(null));
    System.out.println(stringBuilder.toString());


}

我尝试使用 StringBuilder 将整个文件读取为字符串。但是我在while循环中出错。为什么?

4

2 回答 2

2

以下是您的循环应该是什么样子

while((string = bufferedReader.readLine()) != null) {                
    stringBuilder.append(string);
}

您的版本的问题是string.equals(null)最终会出现在 NPE 中。另外,请注意,参数String.equals()将始终返回 false null

于 2012-11-19T02:39:02.277 回答
0

问题在于

string.equals(null)

如果 string 为 null,则不能对其调用 equals 方法。

于 2012-11-19T02:40:06.187 回答