[英]bufferedReader.readLine() will never equal null
我正在编写一些代码,该代码将从文本文件中提取名称和ID。 为此,我使用了while循环。 看起来while循环条件始终为true,并且程序永远不会脱离while循环。 该代码如下所示。任何帮助将不胜感激。 谢谢。
while((line = br.readLine()) != null) {
line = br.readLine();
endOfFirstName = line.indexOf(",");
first_name = line.substring(0, endOfFirstName);
endOfLastName = line.indexOf(" ");
last_name = line.substring(endOfFirstName + 1, endOfLastName);
id = line.substring(endOfLastName + 1);
}
这种情况
while((line = br.readLine()) != null)
用于处理流结束/被关闭的流-
从文档 :
一个字符串,其中包含行的内容,不包含任何行终止符;如果已到达流的末尾,则为null。
您必须处理自己的循环终止-取决于您认为值得循环关闭的条件。
即在标准HTTP请求中,这是通过空白换行符完成的。
编辑
您还将丢弃流中的所有其他行
删除多余的
line = br.readLine();
因为这已经由循环处理了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.