F
FloH
Gast
Hi,
ich versuche gerade in einem Programm von mir die Ausgabe eines externen Process in eine TextArea umzuleiten, was bei "normalen" Programmen wie "ls", "ping" oder "tracepath" auch wunderbar klappt. Nur sobald ich Programme aufrufen möchte die ihre Ausgabe nicht zeilenweise sondern dynamisch immer wieder auf den gleichen Zeilen der Konsole ausgeben (z.B.: "top" oder "airodump-ng") funktioniert es nicht (es wird gar nichts in die TextArea geschrieben).
mein Code :
Wäre für Hilfe sehr dankbar...
Gruß FloH
ich versuche gerade in einem Programm von mir die Ausgabe eines externen Process in eine TextArea umzuleiten, was bei "normalen" Programmen wie "ls", "ping" oder "tracepath" auch wunderbar klappt. Nur sobald ich Programme aufrufen möchte die ihre Ausgabe nicht zeilenweise sondern dynamisch immer wieder auf den gleichen Zeilen der Konsole ausgeben (z.B.: "top" oder "airodump-ng") funktioniert es nicht (es wird gar nichts in die TextArea geschrieben).
mein Code :
Code:
class Command extends Thread
{
private String cmd;
private JTextArea logTextArea;
public Command( String cmd, JTextArea logTextArea )
{
this.cmd = cmd;
this.logTextArea = logTextArea;
}
public void run(){
try
{
Process p = Runtime.getRuntime().exec( cmd );
BufferedReader in = new BufferedReader( new InputStreamReader( p.getInputStream() ));
int i = in.read();
while( i != -1 ){
logTextArea.append( (char)i + "" );
i = in.read();
}
}catch( Exception ex )
{
logTextArea.append("Konnte Befehl nicht ausführen!");
}
}
}
//Aufruf :
...
Command cmd = new Command( "top", logTextArea );
cmd.start();
...
Wäre für Hilfe sehr dankbar...
Gruß FloH