5
Esiste una classe di utilità in alcune librerie Java che offrono servizi come quelli di java.io.Console ma compatibili con il reindirizzamento delle pipe di Bash dell'input?java.io.Console - utility simile compatibile con il reindirizzamento stdin?
Il seguente codice:
import java.io.Console;
public class Foo {
public static void main(String args[]) {
Console cons = System.console();
String foo = cons.readLine(); // line-5
}
}
lancerà una NPE on line-5 quando si fa una:
echo "test" | java Foo
Questo è anche menzionato in this SO discussion senza offrire alcuna alternativa salvo l'uso di sistema. in.
Cosa c'è di sbagliato nell'usare 'System.in' qui? Dopo tutto quello che è esattamente quello che stai cercando: il flusso di input del sistema (noto anche come 'stdin'). –
Non c'è niente di sbagliato in System.in Mi stavo chiedendo se potevo avere la mia torta e mangiarla anch'io .. –