sBuffer.append(in.readLine() );
if (in.readLine() ==null){
break;
}
你这里执行了两次in.readLine(),但只有第一次读取的内容被你保存起来了。
按照您的代码出来的结果应该是123789null
如果想要获得期望的结果,可以修改代码如下:
String str= null;
while (null != (str = in.readLine())){
sBuffer.append(str);
}
问题在于in.readLine()
你调用in.readLine() 的时候就会去读取文件中的一行,你在if里有调用了一次in.readLine() ,而这次调用你又没存在字符串中,所以读取的结果就会有漏行的现象
while (true){
String tempStr = in.readLine();
if (tempStr ==null){
break;
}
sBuffer.append(tempStr);
}