如何比较java中的nextline和readLine()?

时间:2014-03-20 19:21:22

标签: java

我是java的新手

我有一个像这样的r.txt文件

A
B
C

X
Y
Z

我想知道如何将readline()与" \ n"一起使用,这样当它开始打印时,它应该在nextline处停止为空白。因为它给了我一个错误。我写得像这样:

while((recordData = br.readLine()) != '\n') //(at line 18 in below code)

"错误:不兼容的操作数类型字符串和字符"。但是,如果没有,则不会。

3 个答案:

答案 0 :(得分:3)

it never returns termination character

  

返回:包含行内容的字符串,不包括任何行终止字符;如果已到达流末尾,则返回null

答案 1 :(得分:3)

'\ n'是一个字符,recordData是一个字符串。您对以下答案更感兴趣

recordData = br.readLine();
while(recordData != null && !recordData.trim().isEmpty()) {
  System.out.print(recordData);
  recordData = br.readLine();
}

答案 2 :(得分:0)

只要有输入,readLine()方法将返回单行文本,没有行终止字符,因此不会读取'\n'个字符。

对于r.txt文件中的空行,您将获得一个空的或空白的字符串,因此您可以只写

而不是第18行。
while (((recordData = br.readLine()) != null) && !recordData.trim().isEmpty()))

trim()方法将涵盖空白行不仅仅是新行,而是包含"空格"字符(例如,SPACE和TAB)。

另一方面,根本不需要recordData声明。您可以重复使用line变量。