java - 在java代码中执行一个带参数的外部程序

标签 java process exec

<分区>

Process p;
String line;
String path;
String[] params = new String [3];

params[0] = "D:\\prog.exe";
params[1] = picA+".jpg";
params[2] = picB+".jpg";

try
{
    p = Runtime.getRuntime().exec(params);

    BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));

    while ((line = input.readLine()) != null)
        System.out.println(line);

    input.close();
}
catch (IOException e)
{
    System.out.println(" procccess not read"+e);
}

我没有收到任何错误,只是什么也没有。在 cmd.exe 中,prog.exe 工作正常。

要改进什么才能使此代码正常工作?

最佳答案

使用 p = new ProcessBuilder(params).start(); 而不是

p = Runtime.getRuntime().exec(params);

除此之外看起来还不错。

关于java - 在java代码中执行一个带参数的外部程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2921621/

相关文章:

Java 反射 : How to get methods with no parameters only

c# - 如何将MultiMap .Net转发到Java?

java - 使用 Spring Boot 构建 Spring MVC 应用程序

Perl fork exec,父系统中的系统并杀死子系统

javascript - NodeJS - 将命令行输出存储为 var 并通过 res.send() 将其返回给客户端

java - 哪里有适用于所有人的 Viewpager 示例/教程代码?

java - 从 jar 运行 jar

C# 进程不接受我的参数

c# - 如何使用 C# 将消息从 Windows 服务传递到 Windows 桌面应用程序?

php - 通过php的 `exec`打开Windows应用程序