ausgabe in eine Datei schreiben

Caruso_Nix

Mitglied
externe Datei ausführen - Ausgabe in Datei

Hi,
ich möchte eine externe Datei ausführen. Leider klappt das bei mir immer nur mit einem Einzeiler! Der command ist richtig zusammengesetzt. zb. bei Win2000
command = "cmd.exe /C ";
Code:
Process p = Runtime.getRuntime().exec(command);
p.waitFor();
System.out.print("exitcode: "+p.exitValue()+"\n");
Wenn nun meine cmd-Datei nur ein "dir" enthält, klappt alles.
besteht die Datei aus:
echo dir
dir
bleibt der prozess bestehen. es folgt keine Ausgabe.

Wenn ich nun die Ausgabe der cmd-Datei in einer Datei abspeichern möchte, habe ich wieder ein Problem., wenn zb ein PAUSE enthalten ist. Kann man das umgehen? Solche Wörter ja von Betriebssystem zu Betriebssystem verschieden.

Code:
BufferedReader input = new BufferedReader
	 (new InputStreamReader(p.getInputStream()));
 
// ausgabe wird in line gespeichert.
while((line = input.readLine()) != null)
	 text = text + line + System.getProperty("line.separator");
 
//Ausgabe in eine Datei schreiben
RandomAccessFile file = new RandomAccessFile(fileName, "rw"); 
try 
{ 
Writer out = new OutputStreamWriter(new FileOutputStream(file.getFD()), "UTF-8"); 
file.seek(file.length());
out.append(text + System.getProperty("line.separator"));
out.flush();
} 
catch (Exception e) {System.err.println("Exception: " + e.getMessage());}
finally { file.close(); }

caruso
 
Zuletzt bearbeitet:
Zurück