Java Terminal Program - Vorgefertigte Eingabe

Rente

Mitglied
Hallo ihr,
Ich schreibe momentan ein Programm welches Terminalbasiert arbeitet. Da ich jedoch nicht immer wieder zum Testen neue Beispielwerte eingeben muss, wollte ich fragen, ob es einen Befehl für die Konsole gibt, dass eine Text-Datei geöffnet wird und diese Zeilenweise abgearbeitet wird, und jeweils eine Zeile dann der Input wird, für das Program.
Also ich möchte das Programm öffnen und dann soll es etwa so ablaufen:

program>start
Program started
program>dosomething -parameter
task fulfilled
program>help
helptext
morehelptext

Und in der Textdatei sollte möglichst sowas stehen:
start
doesomething -parameter
help​


Mein Problem ist halt bis jetzt gewesen, dass man einige Daten vorher eingeben muss um mit diesen zu arbeiten. Und das nimmt immer sehr viel Zeit in Anspruch. Kennt jemand ne Möglichkeit um mir dabei zu helfen?
Ich hoffe es ist klar, was ich mir wünsche :)
 
Auf Linux-/Unixsystemen gibt es dafür verschiedene Skriptsprachen wie csh, sh, bash, …
Wenn du nur Windows verwendest, solltest du dir mal batch-Skripte ansehen oder (wenn das nicht reicht) die Windows Power Shell (von Microsoft, muss eventuell nachinstalliert werden)
 
Huhu,

Hast du dir schon einmal die Console Klasse (Klick mich) angesehen?

Falls verfügbar (direkt in Eclipse zum Beispiel nicht), liefert System.Console(); ein Objekt der Klasse Console.

Mit der Methode readLine() ist es möglich eine Eingabe abzufragen.
Die Ausgabe erfolgt dann entweder über die Methoden der Console Klasse, oder klassisch über System.out.print***();

Asynchrone Ein/Ausgabe ist aber nicht möglich.
Heißt wenn es einen aktiven Eingabeprompt gibt, kann (sollte) nicht ausgegeben werden bis die Eingabe vollständig ist (weil's halt komisch aussieht).

Leider besitzt Java von Haus aus keine gute Konsolenunterstützung, da ja die Plattformunabhängigkeit schwer möglich wäre.

Was Textdateien angeht, die liest du einfach selbst ein und gibst diese auf der Konsole aus.
 
Zurück