Ich habe ein Java-Programm in einer UNIX-Umgebung, die Zeile gepufferte Daten an System.in übergeben benötigt.Umleiten von zwischengespeicherten Daten in Programm von Datei im Gegensatz zu Block gepufferten Daten
Passing in Tastatureingabe vom Terminal ist in Ordnung, aber wenn ich versuche, die Eingabe aus einer Datei in einer Art und Weise, wie die Umleitung:
java the_program < input.txt
das Programm ausführt nicht richtig.
In welcher Weise kann ich Zeilen gepuffert im Gegensatz zu Block gepufferten Daten in das Programm über Stdin übergeben?
Ich habe versucht:
stdbuf -oL cat input.txt | java the_program
und
stdbuf -i0 java the_program < input.txt
sowie
grep --line-buffered . input.txt | java the_program
aber haben kein Glück gehabt.
Irgendwelche Ideen oder Vorschläge?
Ja, ich hätte klären sollen. Das Java-Programm ist so konzipiert, dass es bei nicht-gepufferten Zwischenspeichern fehlschlägt. Es sollte davon ausgegangen werden, dass "das_Programm" ein beliebiges Programm sein kann, das Standard-In akzeptiert. Ziel ist die Simulation von Benutzereingaben über die Tastatur, aber mit vordefinierten Tests in einer Textdatei . – Milo