如何判断是否已使用BufferedReader读入空行? [英] How do I tell if an empty line has been read in with a BufferedReader?
本文介绍了如何判断是否已使用BufferedReader读入空行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在阅读一个文本文件,格式为
I'm reading in a text file formated like
word
definiton
word
definition
definition
word
definition
所以我需要继续尝试我是否在定义或不基于我何时到达那些emtpy行。事情是, BufferedReader
丢弃 \ n
字符,并以某种方式将该空行与字符串进行比较
没有像我想象的那样注册。我该怎么做呢。
So I need to keep try of whether I'm in a definition or not based on when I reach those emtpy lines. Thing is, BufferedReader
discards \n
characters, and somehow comparing that empty line to String ""
is not registering like I thought it would. How can I go about doing this.
推荐答案
- 请确保使用:
myString.equals()
不是myString ==
。在1.6之后,你可以使用myString.isEmpty()
- 你可以使用
myString.trim()
在上述检查之前摆脱额外的空格
- Make sure you use:
myString.equals("")
notmyString == ""
. After 1.6, you can usemyString.isEmpty()
- You can use
myString.trim()
to get rid of extra whitespace before the above check
以下是一些代码:
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);
}
}
}
这篇关于如何判断是否已使用BufferedReader读入空行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文