【问题标题】:Process.Start Help in JavaJava 中的 Process.Start 帮助
【发布时间】:2011-05-23 18:00:35
【问题描述】:

是否可以在 Java 中执行以下 C# 代码?

Process.Start("c:/test.exe", "filearg1,filearg2,filearg3");

【问题讨论】:

    标签: c# java process arguments


    【解决方案1】:

    ProcessBuilder 是自 Java 5 以来管理外部进程的推荐方式。 有一个用于操作环境变量的更好的界面,以及一个自动将标准错误重定向到标准输出的选项。

    不幸的是,与 Runtime.exec() 一样,您仍然必须手动启动一个线程来消耗进程的输出流(和错误流),以防止它阻塞系统。

    【讨论】:

      【解决方案2】:

      我建议你阅读"When Runtime.exec() won't" 文章。

      【讨论】:

        【解决方案3】:

        是的,但您需要使用 RuntimeProcess 类。

        你可以这样使用:

        Runtime rt = Runtime.getRuntime();
        Process proc = rt.exec("c:/test.exe filearg1,filearg2,filearg3");
        

        【讨论】:

        • Runtime.getRuntime().exec({"c:/test.exe", "filearg1", "filearg2"}, envP, dir);
        • 15 秒阅读引用的运行时类文档很快就会发现:Runtime.getRuntime().exec(new String[] {"C:/test.exe", "filearg1", "filearg2", "filearg3"});
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-20
        • 2011-05-08
        相关资源
        最近更新 更多