对于每一个循环,阅读行

问题描述:

for (String line = br.readLine(); line != null; line = br.readLine()) 

我知道每一个循环,但在开始和结束的有点糊涂了,我知道br.readline()阅读文本文件每行。对于每一个循环,阅读行

+3

这是问题吗? – SJuan76

+1

'br'是一个'BufferdReader'吗? – 2012-11-05 08:38:46

+0

那么,你的问题是什么? – Konza

我不知道问题是什么,但是....

for (String line = br.readLine(); line != null; line = br.readLine()) { 
    // do loop 
} 

相同

String line = br.readLine(); 
while(line != null) { 
    // do loop 
    line = br.readLine(); 
} 

不过我更喜欢

for(String line; (line = br.readLine()) != null;) { 
    // do loop 
} 

For loop statements in Java定义as(C & P):

for (<initialization>; <termination>; <increment>) { 
    statement(s) 
} 

当使用这个版本的for语句,请记住:

  • 初始化表达式初始化循环;它会在循环开始时执行一次。
  • 当终止表达式计算结果为false时,循环终止。
  • 递增表达式在循环的每次迭代之后被调用;这个表达式增加或减少一个值是完全可以接受的。

所以,在你的表达,要初始化字符串:

String line = br.readLine(); 

循环将结束时,这不会是真的:

line != null; 

那就是:你这样做之后

line = br.readLine()) 

并得到null