我正在使用下面的代码片段,但它不工作,因为我理解它应该。我没有得到结果我期待在Java中使用readLine()
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
try {
line = br.readLine();
while(line != null) {
System.out.println(line);
line = br.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
从阅读有关的Javadoc它readLine()
说:
读取一行文本。换行(\n
),回车(\r
)或回车后立即换行。
返回: 包含该行的内容,不包括任何行终止符,或A String
NULL,如果流的末尾已到达
抛出: IOException
- 如果发生I/O错误
从我对此的理解中,readLine
应该在第一次输入时不返回输入,除了行终止之外,如\r
。但是,这段代码只是无限循环而已。调试完成后,我发现在输入终止字符时不会返回null,而是实际返回一个空字符串(“”)。这对我没有意义。我不正确的理解是什么?
readLine()返回行加行换字符 - '\ n'或只是行? – Ashwin 2012-05-18 11:33:44