while((br.readLine())!=null){
System.out.println(br.readLine());
如果想要输出全部的话,不能这样写,因为当你在while中br.readLine()了之后,再在Syso中写一次br.readLine(),这时候就会变成输出第二行,而且每次判断都是奇数行,输出偶数行,当你的奇数行有值而偶数行没有,那么就会输出null。
总的来说就是每readLine()一次后,就会往下走一行。
我是这样认为的。
楼主你好··我按你的方法执行了一下我的程序,我这里输出的是全部的内容!
楼上说的是,每次循环读两行,但是控制台打印的都是偶数行的数据,也可能打印不出来(当基数行!=null&&偶数行==null)
String s="";
while((s=br.readLine())!=null){
System.out.println(s);
代码最好写成上面这样,按照你的写法,每次循环要执行两次br.readLine()语句,相当于每次执行循环要读两行。