ConsolenListener

Wurzelseppi

Mitglied
Hallo zusammen,

habe ner Frage bzgl. Listener Klassen.

Ich möchte während einer ServerSession einen Keyboard Listener laufen lassen, der es mir ermöglicht, Befehle in der Konsole einzugeben, die von dem Listener dann verarbeitet werden können.

Ich würde es so angehen, daß ich einen Thread schreibe, der in einer while(true)-Schleife den System.in() ausliest, und wenn ein ENTER-kommt überprüfe, ob es ein valid-command ist und führe ggf. das aus was angefordert wurde.


Lieg ich da richtig, oder macht man das anders ?


Gruß,


Wurzelseppi
 
Hi,
also das macht man eigentlich etwas anders, die Listener sind Interfaces die zur grafischen Programmierung gehören. Du möchtest ja "Befehle" über die Kommandozeile geben, dafür nutzt man einen BufferedReader, der hat die Methode readLine(), womit man eine ganze Zeile von der Konsole einlesen kann. Das Einlesen beginnt nach dem drücken der Returntaste, wenn man das so sagen kann.

Hier mal ein kleines Beispiel:
Code:
	public static void main(String[] args) {
		BufferedReader br = null;		
		String eingabe = "";
		br = new BufferedReader(new InputStreamReader(System.in));
		try {
			while (eingabe.equalsIgnoreCase("exit")==false){
				System.out.println("Bitte Kommando eingeben:");
				eingabe = br.readLine();
				System.out.println("Sie haben folgendes eingegeben: "+eingabe);
			}
			br.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}

Kannst Du ja mal probieren :-)
 
Zurück