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