Runtime.getRuntime().exec(txt_rsync_option.getText());

Status
Nicht offen für weitere Antworten.

MrLinux

Mitglied
Hallo zusammen,

nur mal so eine Frage.
Ich habe folgenede Methode um Rsync zu straten und die Ausgabe in ein JTextArea zu schreiben.

Code:
public void actionPerformed(java.awt.event.ActionEvent e) {
	try {
		Process proc = Runtime.getRuntime().exec(txt_rsync_option.getText());
		BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));	
						
	// Schreibt den Stream in das Textfeld
	do
	                jTextArea.setText( jTextArea.getText() + input.readLine() + "\n");
		while (input.read() != -1);						
	}
		catch (Exception k) { System.err.println("Fehelr: "+k); }
}

Wenn "txt_rsync_option.getText() = java -?" ist funktioniert es super. Die Ausgabe wird schön in das Textfeld geschrieben.
Wenn "txt_rsync_option.getText() = rsync -vau /Quelle / Ziel" Werden die Daten zwar kopiert aber im Texfeld erscheint nichts. Das Programm hängt quasi!

Vom Gefühl her würde ich sagen die Ausgabe von Rsync ist zu schnell?

Ist das so? Und ist der Abschnitt zum schreiben in das JTextArea ok oder gibt es besser möglichkeinet?

Gruß
JÖrg
 

MrLinux

Mitglied
Mal schauen.

Werde das ganze mal in einen eigenen Tread auslager, ist zur Zeit noch nicht so!
Und dann mit sleep rum probieren;-)

Gegen das Vorgehen ist aber sonst nichts einzuwenden, oder?

Gruß
Jörg
 

EOB

Top Contributor
hi, im prinzip nicht. ich kenn zwar das programm nicht, aber man kann IMHO nicht alles in die exec schreiben. also man kann schon, aber es wird nicht immer gehen. deswegen geht es einmal und einmal nicht, vermute ich mal. hast du die parameter gequotet?

viele gruesse
 

MrLinux

Mitglied
mit einem ausgelagertem Thread und einem sleep dazwischen funktioniert es auch nicht.

Was bedeutet "parameter gequotet" ? Habe ich noch nicht gehört!

Ps: Rsync ist ein Backup Programm das aus der Unix Welt kommt aber auch unter win zur verfügung steht. Ich benutze es um ganze Platten zu spiegeln, unter Linux versteht sich ;-)
 

thE_29

Top Contributor
Bist du dir sicher dass das Programm seinen Text auch in den stdout schreibt und nicht in den stderr?
 

MrLinux

Mitglied
Da bin ich mir ziemlich sicher das in stdout geschrieben wird.
Wenn das Programm auf der Komandozeile gestarte wird schreibt es auch in die Standartausgabe, unter Linux in die Bash.

Um sicher zu gehen werde ich heute Abend mal

Code:
proc.getErrorStream()

ausprobieren

Gruß

Jörg
 

thE_29

Top Contributor
Nur weil es in der Bash steht, heißt es noch lange nicht das es der stdout ist!

Der stderr ist ja auch die Bash ^^
 

MrLinux

Mitglied
Und was ist dann bitte die Standartausgabe?

Unter Linux schreiben doch die Programme (z.B. Rsync) auf das gerät /dev/stdout. Wie es unter win ist weiß ich nicht.
Die Bash ist dann halt mit /dev/stdout verbunden.

proc.getInputStream() liefert doch einen Stream der mit der Betriebssystemspezifischen Standartausgabe verbunden ist, oder?

Hilft vieleicht
Code:
System.setIn(InputStream in)
weiter?

Gruß
Jörg
 

thE_29

Top Contributor
Tjo, für das Programm per Hand aus und leite es in eine Datei weiter!

Kommt der Ausgabetext ganz normal in der Bash, wirds übern error Stream geschrieben (machen viele Linux Programme, warum auch immer)
 

MrLinux

Mitglied
Bin in der Sache eine wenig weiter gekommen.

Rsync schreibt in die stdout nicht in stderr.
Die Ausgabe im TextArraya erfolgt aber erste wenn Rsync mit der Arbeit fertig ist, auf einen Schlag.
Die einzelnen Zeilen die Rsync ausgibt werden also nicht sofort in das Textfeld geschrieben sondern erst wenn alles von Rsync abgearbeitet wurde.

Ich brächte im Textfeld so zu sagen eine "Statusanzeige"!

Gruß
Jörg
 

thE_29

Top Contributor
Naja, mit Process.watiFor() kannst ja solange warten bis es fertig ist!

Machst halt nen JProgressBar mit setInderteminate(true) (heißt irgendwie so).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Registry Autostart Eintrag ertstellen mit Java (Runtime.getRuntime().exec()) Allgemeine Java-Themen 0
Thallius Runtime.getRuntime().exec " escapen? Allgemeine Java-Themen 9
N Runtime.getRuntime().exec Problem mit find Allgemeine Java-Themen 3
I Runtime.getRuntime().exec Problem Allgemeine Java-Themen 4
truesoul Runtime.getRuntime().exec nebenbei ausführen Allgemeine Java-Themen 12
Z Runtime.getRuntime().exec-Problem Allgemeine Java-Themen 4
M Runtime.getRuntime().exec(cmd); auf windows ... Allgemeine Java-Themen 2
X Wann ist Runtime.getRuntime().exec mit Copy fertig? Allgemeine Java-Themen 10
G Output eines über Runtime.getRuntime.exec gestarteten Jars Allgemeine Java-Themen 6
W Runtime.getRuntime().exec() Allgemeine Java-Themen 10
C JApplet und Runtime.getRuntime().exec() Allgemeine Java-Themen 2
M Probleme Runtime.getRuntime().exec(Start.cmd); Allgemeine Java-Themen 10
K Probleme mit Runtime.getRuntime().exec Allgemeine Java-Themen 6
A Runtime.getRuntime().exec mit Warte auf Beendigung - Wie? Allgemeine Java-Themen 7
R Problem mit Runtime.getRuntime().exec() Allgemeine Java-Themen 4
F Runtime.getRuntime().exec mit Linux und Leerzeichen Allgemeine Java-Themen 3
B Probleme mit Runtime.getRuntime().exec("cmd.exe") Allgemeine Java-Themen 4
M Rückgabewert von Runtime.getRuntime().exec() Allgemeine Java-Themen 2
D Problem mit Runtime.getRuntime().exec() Allgemeine Java-Themen 14
L Runtime.getRuntime.exec() Allgemeine Java-Themen 7
X Problem mit Runtime.getRuntime().exec("cls"); Allgemeine Java-Themen 18
S Runtime.getRunTime().exec("jar cvf .) hängt sich auf Allgemeine Java-Themen 3
M Runtime.getRuntime().exec() - Fehler abfangen Allgemeine Java-Themen 5
B Problem mit Runtime.getRuntime().exec() Allgemeine Java-Themen 4
G Runtime.getRuntime().exec("cmd /c START") Allgemeine Java-Themen 3
S Runtime.getRuntime()... Allgemeine Java-Themen 6
G Runtime.getRuntime() Allgemeine Java-Themen 10
M this application requires a java runtime environment 1.8.0 Allgemeine Java-Themen 2
S Gibt es eine Moeglichkeit die Runtime Ausführung zu analysieren..? Allgemeine Java-Themen 7
J Verschiedene Runtime Versionen gleichzeitig? Allgemeine Java-Themen 12
K Threads Runtime und Process Probleme Allgemeine Java-Themen 3
H Runtime reagiert erst wenn Programm abbricht Allgemeine Java-Themen 1
J Probleme mit der Java-Runtime Allgemeine Java-Themen 10
M Runtime.exec() verursacht auf manchen Systemen Probleme - Ursache unklar Allgemeine Java-Themen 2
S Command funktioniert in Kommandzeile aber nicht mit ProcessBuilder bzw. Runtime.exec auf MAC Allgemeine Java-Themen 3
D Java Objekt als Service in Runtime registrieren Allgemeine Java-Themen 1
W Threads Mit Thread und Runtime externe Programme öffnen Allgemeine Java-Themen 0
C Runtime Problem Allgemeine Java-Themen 1
P programm öffnen mit der runtime Allgemeine Java-Themen 9
W JavaDoc Runtime-Exceptions: Wie sinnvoll anzeigen? Allgemeine Java-Themen 14
P Runtime bzw. RAM-Auslastung eines Prozesses Allgemeine Java-Themen 9
M Befehl in Runtime ausführen der Eingabe benötigt Allgemeine Java-Themen 3
aze Jar ausführen über Runtime.execute funktioniert nicht Allgemeine Java-Themen 4
T Bluescreen bei Runtime.exec(); Allgemeine Java-Themen 8
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
N Runtime.exec() Exception Problem Allgemeine Java-Themen 3
N Runtime.exec() Allgemeine Java-Themen 7
S Runtime Exceptions in eine Datei schreiben Allgemeine Java-Themen 7
N Internet Explorer mit bestimter Java Runtime starten Allgemeine Java-Themen 2
J Runtime.exec setzt Fokus auf Frame Allgemeine Java-Themen 2
V Probleme mit Runtime.exec() Allgemeine Java-Themen 3
M Runtime.exec() - Performance / Frage zu Threads Allgemeine Java-Themen 5
S Rückgabewert runtime Allgemeine Java-Themen 11
martin82 Java Runtime Update >17 - SwingWorker Änderungen? Allgemeine Java-Themen 7
T Runtime.exec() Allgemeine Java-Themen 3
W java ohne runtime Allgemeine Java-Themen 2
N runtime.exec() Problem Allgemeine Java-Themen 6
lordcarlos Runtime exec und mplayer (linux) Allgemeine Java-Themen 11
K Runtime.exec mit Timeout Allgemeine Java-Themen 5
0 Runtime.exec() VLC starten klappt nicht Allgemeine Java-Themen 9
G Runtime.exec - Prozess "mittendrin" "einfach Allgemeine Java-Themen 4
G Runtime? Allgemeine Java-Themen 3
J Runtime.exec unter win vista? Allgemeine Java-Themen 10
F Problem mit Runtime.exec() Allgemeine Java-Themen 8
S Problem mit Runtime. Allgemeine Java-Themen 2
E Programm mit der Runtime ausführen Allgemeine Java-Themen 8
M Runtime & Exception Allgemeine Java-Themen 3
J ServiceInterface - Runtime() > jemand eine idee? Allgemeine Java-Themen 2
A Runtime oder ProcessBuilder exe starten Allgemeine Java-Themen 3
V Java-Programm vom USB-Stick ohne Runtime-Installation Allgemeine Java-Themen 18
W In Runtime Output schreiben Allgemeine Java-Themen 5
J Probiert mal bitte aus (Thread + Runtime) Allgemeine Java-Themen 10
A Installierte Runtime ermitteln Allgemeine Java-Themen 3
M Runtime.exec unter Vista (Administrator Rechte) Allgemeine Java-Themen 2
T ausführbares jar File mit integriertem Java Runtime 6+JOGL Allgemeine Java-Themen 7
the[V]oid Ausführen von "javac" über Runtime.exec() Allgemeine Java-Themen 4
W Runtime Error216 Runtime error 217 Allgemeine Java-Themen 6
B Runtime Verzeichniss wechseln Allgemeine Java-Themen 8
C Java SE Runtime 6 Update 1 - IE 7 und FF 2.0 - Allgemeine Java-Themen 6
D runtime.exec --> Prozess hängt sich auf Allgemeine Java-Themen 7
T Runtime.exec -> Prozesskontrolle abgeben ? Allgemeine Java-Themen 11
G Programm wird von java cmd runtime nicht aufgerufen? Allgemeine Java-Themen 13
S Runtime.exec() berechtigungen Allgemeine Java-Themen 5
S Runtime.exec und X Umgebung Allgemeine Java-Themen 2
A Runtime Process bricht nicht ab! Allgemeine Java-Themen 7
F Shell-Programme per Runtime.exec() starten und mehr? Allgemeine Java-Themen 4
K Runtime.exec und DFÜ-Verbindung Allgemeine Java-Themen 5
C Rechte unter WinXP, MySQL-Server per Runtime herunterfahren? Allgemeine Java-Themen 6
P Copy mit Runtime.exec() unter Unix Allgemeine Java-Themen 4
T Probleme mit Runtime.exec in Jar File Allgemeine Java-Themen 2
M Runtime.exec unter Linux Allgemeine Java-Themen 11
G Java Runtime Verzeichnis ermitteln Allgemeine Java-Themen 3
9 J2SE Runtime Environment 5.0 Allgemeine Java-Themen 6
S Runtime exec unter MacOS X will nicht "open pfad" Allgemeine Java-Themen 7
S dvbscan mit Runtime.getInstance().exec() ausführen ? Allgemeine Java-Themen 24
M Runtime.exec() => java.io.exception: too many open files Allgemeine Java-Themen 10
S Programm starten mit Runtime aktuelles Verzeichnis wechseln Allgemeine Java-Themen 7
K getRuntime().exec() untersagen Allgemeine Java-Themen 6
O getRuntime().Exec() - Environment - Variablen setzen? Allgemeine Java-Themen 2
L getRuntime.exec() Problem mit Hochkommata Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben