I’m reading in a text file formated like
word definiton word definition definition word definition
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.
Advertisement
Answer
- Make sure you use:
"".equals(myString)
(which isnull
-safe) notmyString == ""
.- After 1.6, you can use
myString.isEmpty()
(notnull
-safe)
- After 1.6, you can use
- You can use
myString.trim()
to get rid of extra whitespace before the above check
Here’s some code:
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); } } }