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

readLine方法读取行为什么要这么读BufferedReaderbr=newBufferedReader(newFileReader(file));Stringtem... 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)
{
...
}
展开
 我来答
百度网友a175029de
推荐于2016-12-04 · TA获得超过287个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:252万
展开全部
调用br.readLine() 的时候就已经把行都出来了,你需要把读出来的数据暂存以便后继的判断和处理使用。

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

br.readLine() 调用一次就读一行,在没有读取到最后一行的情况下,第n次调用是读取的第n行
百度网友d12745c
2014-07-14 · 超过12用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:38万
展开全部
可以啊。
但是temp就是保存读到的每一行,你下面的读到的每一行内容丢失了,读了等于白读。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式