繁体   English   中英

如何在Java中将nextline与readLine()比较?

[英]how to compare nextline with readLine() in java?

我是Java新手

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

A
B
C

X
Y
Z

我想知道如何将readline()与“ \\ n”一起使用,以便在它开始打印时应该在下一行停在空白处。 因为它给我一个错误。 我这样写:

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

“错误:操作数类型字符串和字符不兼容”。 但是使用null则不会。

它从不返回终止符

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

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

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

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

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

while (((recordData = br.readLine()) != null) && !recordData.trim().isEmpty()))

trim()方法将涵盖空白行不仅是换行而且包含“空白”字符(例如SPACE和TAB)的情况。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM