[Logo]
Forums Register Login
Scanner.stream()
 

Winston Gutkowski wrote:. . . Pity that Scanner doesn't have a stream() method.

Winston

When Streams first came out, Cay Horstmann wrote the same sort of thing in a blog. I am not quite sure about that. Half of me thinks that Scanner ought to have a lines() method returning a Stream<String> (like BufferedReader). The other half thinks that Scanner is intended to tokenise its input, giving you anint then a double then a word, so what would its method look like? Maybe a tokens() method returning separate tokens into a Stream<String>, and maybe a lines() method as before?
 

Campbell Ritchie wrote:The other half thinks that Scanner is intended to tokenise its input, giving you anint then a double then a word, so what would its method look like?


Well, by default Scanner is an Iterator to its tokens, which suggests to me that it could possibly look something like this:but since I'm new to all this stuff there may well be better ways - or I could be totally wrong.

Edit - Looking at the docs, it seems that it might be better to use StreamSupport.stream(Supplier, int, boolean), since Iterable's default method returns an early-binding Spliterator; but not sure how to do that yet, or whether it makes any difference in this case.

Winston
 

Winston Gutkowski wrote:. . . Scanner is an Iterator . . . Winston

I had forgotten that. That is a good justification for giving it methods to create Streams.
Things changed in Java9.
I just had the craziest dream. This tiny ad was in it.
Why should you try IntelliJ IDEA ?
https://coderanch.com/wiki/696337/IntelliJ-IDEA


This thread has been viewed 1252 times.

All times above are in ranch (not your local) time.
The current ranch time is
Jul 16, 2018 08:49:39.