2012-12-21 31 views
28

İki parametreyi geçmek zorunda olduğum bir dış program çağıran bir uygulama yapmayı denedim. Herhangi bir hata vermez. C++ ile yazılmış program.exe, bir resim alır ve txt dosyasının içeriğini değiştirir. java programı çalıştırır ama burada hiçbir şeyJava programında harici program çalıştır

yapar Bu doğru değil benim örnek 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

Sorun nedir Tam olarak, soruya ekleyebileceğiniz bir hata mesajınız var mı? Teşekkürler. – Jonathan

+0

dediniz, iki parametreyi geçmek istediğinizi, ancak burada 3 parametre – Ravi

+0

gösteriliyorsa, * çalışmıyor, hata nedir? programın ne yapar? – vels4j

cevap

47

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

fazla bilgi komutları geçmesi için nasıl here

Diğer sorunları gelen shamely bu ödünç here ve here

+1

Benim sorun program.exe – sqtd

+0

güncellenen yanıt parametreleri geçmek için, bu size yardımcı olur mu? – Steven

+0

Bunu denedim, ama aynı şey – sqtd