2012-12-21 9 views
28

Ich habe versucht, eine Anwendung zu machen, die ein externes Programm aufruft, das ich zwei Parameter übergeben muss. Es gibt keine Fehler. Das in C++ geschriebene Programm.exe macht ein Bild und ändert den Inhalt der TXT-Datei. Das Java-Programm läuft, aber es tut nichtsAusführen eines externen Programms in Java

Hier ist mein Beispielcode

String[] params = new String [3]; 
    params[0] = "C:\\Users\\user\\Desktop\\program.exe"; 
    params[1] = "C:\\Users\\user\\Desktop\\images.jpg"; 
    params[2] = "C:\\Users\\user\\Desktop\\images2.txt"; 
    Runtime.getRuntime().exec(params); 
+6

Was ist das Problem? Genau, haben Sie eine Fehlermeldung, die Sie der Frage hinzufügen können? Vielen Dank. – Jonathan

+0

Sie sagten, Sie wollen zwei Parameter übergeben, aber hier zeigen Sie 3 Parameter – Ravi

+0

wenn * es * nicht ausführen, was ist der Fehler? Was macht Ihre Programm.exe? – vels4j

Antwort

47

dies von here shamely entlehnt

Process process = new ProcessBuilder("C:\\PathToExe\\MyExe.exe","param1","param2").start(); 
InputStream is = process.getInputStream(); 
InputStreamReader isr = new InputStreamReader(is); 
BufferedReader br = new BufferedReader(isr); 
String line; 

System.out.printf("Output of running %s is:", Arrays.toString(args)); 

while ((line = br.readLine()) != null) { 
    System.out.println(line); 
} 

Weitere Informationen here

Weitere Themen auf, wie Befehle passieren here und here

+1

mein Problem ist es, Parameter an Programm.exe übergeben – sqtd

+0

aktualisierte Antwort, hilft Ihnen das? – Steven

+0

Ich habe das versucht, aber es tut das gleiche – sqtd

Verwandte Themen