wood burning stoves 2.0*
The moose likes Beginning Java and the fly likes How to Disregard Lines That Are Just Whitespace When Using A Reader Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "How to Disregard Lines That Are Just Whitespace When Using A Reader" Watch "How to Disregard Lines That Are Just Whitespace When Using A Reader" New topic
Author

How to Disregard Lines That Are Just Whitespace When Using A Reader

Jai Gates
Greenhorn

Joined: Jul 11, 2012
Posts: 18
Hi All,
I am trying to read in the contents of a textfile line by line.

I need to process only lines that contain characters when I read it in as so:



This seems like a simple problem, but I cannot find the conditional that would determine a blank line. I am a beginner with regex too.

Please help.

Sincerely,
J
Jai Gates
Greenhorn

Joined: Jul 11, 2012
Posts: 18
lol found it! Tested and worked:




Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18541
    
    8

Yeah, that's much better than a regex, isn't it?

You could also do it like this (pretty much the same):



Richard Tookey
Ranch Hand

Joined: Aug 27, 2012
Posts: 1044
    
  10

Paul Clapham wrote:Yeah, that's much better than a regex, isn't it?

You could also do it like this (pretty much the same):





The thread title specifies "Whitespace" which according to the Pattern class (I know not really a definitive source but the best I can find without too much research) is the character set [ \t\n\x0B\f\r] but the OP body implies just a simple space. If indeed the OP just wants to handle spaces and not white spaces then the responses so far are probably the best approach but if white spaces are to be white spaces in the regex sense then



could be used. Since the readLine() method does not return either '\r' or '\n' (they are treated as line terminators) then this actually more than is needed but it will match any empty string.
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7696
    
  20

Richard Tookey wrote:If indeed the OP just wants to handle spaces and not white spaces then the responses so far are probably the best approach but if white spaces are to be white spaces in the regex sense then...

Actually, if you look at the docs for String.trim(), you'll see that it removes all characters at or below '\u0020' (the space character) from the start and end of a String, which is pretty darn close to regex's interpretation of whitespace (although, as you say, not exactly the same).

BTW, Thanks Paul. I hadn't even noticed that 1.6 added the isEmpty() method. Amazing what you miss sometimes.

Winston


Isn't it funny how there's always time and money enough to do it WRONG?
Articles by Winston can be found here
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38467
    
  23
But isEmpty() is (I think) something simple like this:-Yes, the Pattern class is the definitive authority about what counts as whitespace … at least in Java regexes.

And while I was looking for the Pattern link, I found there is a Phaser class. I didn’t check whether there is a Klingon class.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How to Disregard Lines That Are Just Whitespace When Using A Reader