请教一个关于java中BufferedReader类的问题

readLine方法读取行为什么要这么读
BufferedReader br = new BufferedReader(new FileReader(file));
String temp;
while((temp = br.readLine()) != null)
{
...
}

直接这样读为什么不可以
BufferedReader br = new BufferedReader(new FileReader(file));
while(br.readLine() != null)
{
...
}

调用br.readLine() 的时候就已经把行都出来了,你需要把读出来的数据暂存以便后继的判断和处理使用。

如果像你下边的那份代码那样,你判断玩了非空了,但你的while代码块中怎么使用读出来的数据?再次调用br.readLine() 是不行的,因为读的是下一行的数据了。所以需要把代码写成上面的那种形式。

br.readLine() 调用一次就读一行,在没有读取到最后一行的情况下,第n次调用是读取的第n行
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-14
可以啊。
但是temp就是保存读到的每一行,你下面的读到的每一行内容丢失了,读了等于白读。
相似回答
大家正在搜