Supponendo che tu abbia sotto i piedi un sitema Windows, in questo modo
Quote:
java nomeClasse < Input.txt
|
stai dicendo a cmd.exe di redirigere l'input (<) per il processo "java nomeClasse" collegandone lo stream al file Input.txt.
Che significa?
Significa che il canale di input a cui è collegato quel processo sarà, invece della solita tastiera (lo standard input di default) il file di testo che hai specificato.
Da codice java, l'accesso allo standard input è rappresentato da System.in: normalmente leggere da System.in significa mettersi in attesa di input da tastiera.
Redigere l'input collegandolo ad un file, come hai fatto tu, significa che quando si eseguirà la prima lettura da System.in in pratica si leggerà tutto il contenuto di quel file.