为什么bufferedreader.readLine()在读取时需要等于临时字符串?

时间:2017-07-07 02:21:09

标签: java bufferedreader java-io

如下所示的代码段。在使用BufferedReader阅读时,Buffereder.readLine()始终设置为临时字符串。

String hello = "hello ";
byte[] data = hello.getBytes();
ByteArrayInputStream bai = new ByteArrayInputStream(data);

try(BufferedReader br = new BufferedReader(new InputStreamReader(bai))){
      String temp;

      while((temp=br.readLine())!=null)
         System.out.println(temp);

}catch(Exception exception){

}

为什么我们不能这样做

while(br.readLine()!=null)
   System.out.println(br.readLine())

1 个答案:

答案 0 :(得分:3)

如果你这样做

while(br.readLine()!=null)
   System.out.println(br.readLine())

你会扔掉所有其他线路。想一想。每次循环时,您都会readLine()进行测试,看看它是否不是null。好的,不是,所以你进入循环并做另一个 readLine()。您阅读并测试的线路是什么,以决定是否应该进入循环?

相关问题