在java中执行外部程序

我试图做一个应用程序,调用一个外部程序,我必须传递两个参数。 它不会给出任何错误。用c ++编写的program.exe会拍摄一张照片并修改txt文件的内容。 Java程序运行,但它什么都不做

这是我的示例代码

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

从这里耻辱地借了这个

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

更多信息在这里

关于如何在这里和这里传递命令的其他问题

这个不对。 这里是你应该如何使用Runtime.exec() 。 你也可以尝试更现代的表亲, ProcessBuilder

Java Runtime.getRuntime()。exec()的替代品