Comment créer un stream Java 8 à partir de System.in / System.console ()?

Avec un fichier, nous pouvons le transformer en un stream de chaînes en utilisant, par exemple,

Stream lines = Files.lines(Paths.get("input.txt")) 

Pouvons-nous créer un stream de lignes à partir de l’entrée standard de la même manière?

Une compilation de la réponse de kocko et du commentaire de Holger:

 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); Stream stream = in.lines().limit(numberOfLinesToBeRead); 

Habituellement, l’entrée standard est lue ligne par ligne. Vous pouvez donc stocker toute la ligne de lecture dans une collection, puis créer un Stream qui l’utilise.

Par exemple:

 List allReadLines = new ArrayList(); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); Ssortingng s; while ((s = in.readLine()) != null && s.length() != 0) { allReadLines.add(s); } Stream stream = allReadLines.stream();