从Java执行另一个应用程序

从Java执行另一个应用程序

我需要执行一个执行另一个Java应用程序的批处理文件。我不关心它是否成功执行,我不必捕获任何错误。

是否可以使用ProcessBuilder执行此操作?如果我没有捕获错误会有什么后果?

但是,我的要求只是执行另一个Java应用程序。


波斯汪
浏览 402回答 3
3回答

守着一只汪

这种Runtime.getRuntime().exec()方法很麻烦,你很快就会发现。看看Apache Commons Exec项目。它抽象了许多与使用Runtime.getRuntime().exec()和ProcessBuilderAPI 相关的常见问题。它很简单:String line = "myCommand.exe";CommandLine commandLine = CommandLine.parse(line);DefaultExecutor executor = new DefaultExecutor();executor.setExitValue(1);int exitValue = executor.execute(commandLine);

HUH函数

我假设您知道如何使用ProcessBuilder。执行命令。从Java执行命令总是应该从进程中读取stdout和stderr流。否则,可能会发生缓冲区已满并且因为写入stdout或stderr块而无法继续进程。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java