• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Devaka Cooray
  • Liutauras Vilda
  • Jeanne Boyarsky
Sheriffs:
  • Knute Snortum
  • Junilu Lacar
  • paul wheaton
Saloon Keepers:
  • Ganesh Patekar
  • Frits Walraven
  • Tim Moores
  • Ron McLeod
  • Carey Brown
Bartenders:
  • Stephan van Hulst
  • salvin francis
  • Tim Holloway

Scanner.stream()  RSS feed

 
Marshal
Posts: 61774
193
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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?
 
Bartender
Posts: 10575
66
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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
 
Campbell Ritchie
Marshal
Posts: 61774
193
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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

I had forgotten that. That is a good justification for giving it methods to create Streams.
 
Campbell Ritchie
Marshal
Posts: 61774
193
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Things changed in Java9.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!