# ausgabe in eine Datei schreiben



## Caruso_Nix (19. November 2004)

*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 "; 
	
	
	



```
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.


```
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


----------

