2012-12-21 17 views
28

Próbowałem utworzyć aplikację, która wywołuje zewnętrzny program, który muszę przekazać dwa parametry. Nie daje żadnych błędów. Program.exe, napisany w języku C++, robi zdjęcie i modyfikuje zawartość pliku txt. Program Java działa, ale nie robi nicWykonywanie zewnętrznego programu java

Oto mój przykładowy kod

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

Jaki jest problem lem dokładnie, czy masz komunikat o błędzie, który możesz dodać do pytania? Dzięki. – Jonathan

+0

powiedziałeś, chcesz przekazać dwa parametry, ale tutaj pokazujesz 3 parametry – Ravi

+0

jeśli * nie * wykonuje, co to jest błąd? co robi program.exe? – vels4j

Odpowiedz

47

pożyczył ten shamely z here

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); 
} 

Więcej informacji here

innych kwestii, w jaki sposób przekazać polecenia here i here

+1

Moim problemem jest przekazanie parametrów do programu program.exe – sqtd

+0

zaktualizowanej odpowiedzi, czy to ci pomaga? – Steven

+0

próbowałem tego, ale to nie to samo – sqtd

Powiązane problemy