Java:将文件读入字符串的异常

时间:2012-11-19 02:31:30

标签: java readline

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循环中遇到错误。为什么呢?

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

问题在于

string.equals(null)

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