PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Runtime.getRuntime().exec(command)



rmiuser
28-05-2005, 17:13
Ich habe ein Problem und zwar folgendes.
ich habe java Datein unter mein Home verzeichnis gespeichert und versuche über
mein geschriebene main Methode dieses Commando auszufuhren

C:\Home_Verzeichnis> javac *.java

----------------------------------------------------------------------
String tmpDir =System.getProperty("user.home")+File.separator;

String command = tmpDir +">"+"javac"+" "+ "*.java";


Process proc1= Runtime.getRuntime().exec(command);

proc1.waitFor();

-----------------------------------------------------------


weiss jemand wie kann ich dass richtig impliementieren, damit es geht??


Danke
mriuser

peschmae
28-05-2005, 17:34
Ich würde es mal mit der Methode da versuchen:


Process exec(String command, String[] envp, File dir)
Executes the specified string command in a separate process with the specified environment and working directory.


also etwa:


String tmpDir =System.getProperty("user.home")+File.separator;
String command = "javac *.java";
Process proc1= Runtime.getRuntime().exec(command, null, command);
proc1.waitFor();


Eventuell hakts auch noch am *.java - aber unter Windows muss das ja eh das Programm selber machen, von dem her sollte das gehen.

MfG Peschmä

anda_skoa
30-05-2005, 12:33
String command = tmpDir +">"+"javac"+" "+ "*.java";


Wenn sich die Syntax von Windows Shell commands nicht vollkommen geändert hat, ist das ziemlich sicher kein gültiges.

Da steht im Endeffekt
C:\Home_Verzeichnis\>javac *.java

C:\Home_Verzeichnis\ ist nur ein Pfad, das ist sicher nicht ausführbar.
Außerdem ist es sicher keine gute Idee, dessen Ausgabe in die Datei javac umzuleiten, unter javac erwartet man eher den Java Compiler.

(Außer dieses omniöse Programm ohne Namen erzeugt javac)

Ciao,
_