为什么这样就只输出最后一行 ??

来源:5-3 字符流的过滤器

慕少1247149

2014-12-06 15:29

  while((br.readLine())!=null){

    System.out.println(br.readLine());


写回答 关注

4回答

  • 收拾好鑫情
    2016-01-06 17:51:28

    如果想要输出全部的话,不能这样写,因为当你在while中br.readLine()了之后,再在Syso中写一次br.readLine(),这时候就会变成输出第二行,而且每次判断都是奇数行,输出偶数行,当你的奇数行有值而偶数行没有,那么就会输出null。

    总的来说就是每readLine()一次后,就会往下走一行。

    我是这样认为的。

  • 阿丁4513
    2015-08-15 10:20:33

    http://img.mukewang.com/55cea1c80001542d07540515.jpg

    楼主你好··我按你的方法执行了一下我的程序,我这里输出的是全部的内容!

  • callme激流
    2015-02-02 20:51:06

    楼上说的是,每次循环读两行,但是控制台打印的都是偶数行的数据,也可能打印不出来(当基数行!=null&&偶数行==null)

  • 好帮手慕珊
    2014-12-09 09:14:08

    String s="";

    while((s=br.readLine())!=null){

        System.out.println(s);

    代码最好写成上面这样,按照你的写法,每次循环要执行两次br.readLine()语句,相当于每次执行循环要读两行。


文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133755 学习 · 1030 问题

查看课程

相似问题