如下所示的代码段。在使用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())
答案 0 :(得分:3)
如果你这样做
while(br.readLine()!=null)
System.out.println(br.readLine())
你会扔掉所有其他线路。想一想。每次循环时,您都会readLine()
进行测试,看看它是否不是null
。好的,不是,所以你进入循环并做另一个 readLine()
。您阅读并测试的线路是什么,以决定是否应该进入循环?