2012-12-21 42 views
28

Tôi đã cố gắng tạo một ứng dụng gọi một chương trình bên ngoài mà tôi phải chuyển hai tham số. Nó không đưa ra bất kỳ lỗi nào. Program.exe, được viết bằng C++, chụp ảnh và sửa đổi nội dung của tệp txt. Các chương trình java chạy nhưng nó không làm gìThực hiện chương trình bên ngoài trong java

Đây là mẫu mã của tôi

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

Prob lem chính xác, bạn có một thông báo lỗi bạn có thể thêm vào câu hỏi? Cảm ơn. – Jonathan

+0

bạn nói, bạn muốn vượt qua hai tham số, nhưng ở đây bạn đang hiển thị 3 tham số – Ravi

+0

nếu * nó không * thực thi, lỗi là gì? program.exe của bạn làm gì? – vels4j

Trả lời

47

vay này shamely từ 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); 
} 

Thông tin thêm here

Các vấn đề khác về cách chuyển lệnh herehere

+1

vấn đề của tôi là chuyển các tham số đến program.exe – sqtd

+0

câu trả lời được cập nhật, điều đó có giúp bạn không? – Steven

+0

Tôi đã thử điều này, nhưng nó cũng giống như vậy – sqtd

Các vấn đề liên quan