我正在阅读格式如下的文本文件
word
definiton
word
definition
definition
word
definition
所以我需要根据我到达那些空行的时间来不断尝试我是否在定义中。问题是,BufferedReader
丢弃了 \n
字符,并且以某种方式将该空行与 String ""
进行比较并没有像我想象的那样注册。我该怎么做。
最佳答案
- 确保使用:
"".equals(myString)
(null
安全)而不是myString == ""
。- 1.6之后,可以使用
myString.isEmpty()
(不是null
-safe)
- 1.6之后,可以使用
- 您可以使用
myString.trim()
在上述检查之前去除多余的空格
这是一些代码:
public void readFile(BufferedReader br) {
boolean inDefinition = false;
while(br.ready()) {
String next = br.readLine().trim();
if(next.isEmpty()) {
inDefinition = false;
continue;
}
if(!inDefinition) {
handleWord(next);
inDefinition = true;
} else {
handleDefinition(next);
}
}
}
关于java - 如何判断是否已使用 BufferedReader 读入空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13706466/