java - 从 Java 执行命令而不是等待结果

标签 java command-line java-native-interface registry

我正在我的 Java 应用程序中构建命令行字符串(例如“winword.exe FinalReport.doc”)。我想执行命令并放手:我不想/不需要等待结果(最大可能是:它是否正确启动,但这是可选的)并且应用程序需要在我的 Java 应用程序终止时继续运行.

我查看了 Runtime.getRuntime().exec() 和 Apache Commons_Exec。两者都控制启动的应用程序(使用公共(public)资源和回调显然更可取),但这不是我需要的。我想念什么?

我是否需要调用 Windows/Linux/Mac API 来启动一个独立的应用程序?

最佳答案

尝试使用过程!这就是我在我的应用程序中使用它的方式:

Process process = new ProcessBuilder()
                    .command(convert, image.name, "-thumbnail", "800x600>", bigsize.name)
                    .directory(image.parentFile)
                    .redirectErrorStream(true)
                    .start()

我猜,你可以这样使用:

Process process = new ProcessBuilder()
                    .command("winword.exe", "FinalReport.doc")
                    .directory(new File("C:/"))
                    .redirectErrorStream(true)
                    .start()

关于java - 从 Java 执行命令而不是等待结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7011925/

相关文章:

java - 该 JFrame 的布局是什么?

batch-file - Windows : unable to control output video length and problems with using wildcards 上的 MLT 融化幻灯片

java - 无法打开共享对象文件 - Java 中的 C++ 库

android - 如何在 Android JNI 中设置文件路径?

java - 在 Java 中为变量分配动态名称

java - 奇怪的 wav 文件。我可以使用什么过滤器?

java - 在 Java 中使用命令行编译多个包

java-native-interface - 在 Android NDK 中编写 native 方法签名的正确方法是什么?

java - 选择上下文菜单后将文件从 Raw 文件夹复制到 SD 卡?

java - 错误 : Could not find or load main class Main - when running from Linux command line