从Java执行另一个应用程序我需要执行一个执行另一个Java应用程序的批处理文件。我不关心它是否成功执行,我不必捕获任何错误。是否可以使用ProcessBuilder执行此操作?如果我没有捕获错误会有什么后果?但是,我的要求只是执行另一个Java应用程序。
3 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
这种Runtime.getRuntime().exec()
方法很麻烦,你很快就会发现。
看看Apache Commons Exec项目。它抽象了许多与使用Runtime.getRuntime().exec()
和ProcessBuilder
API 相关的常见问题。
它很简单:
String line = "myCommand.exe";CommandLine commandLine = CommandLine.parse(line);DefaultExecutor executor = new DefaultExecutor();executor.setExitValue(1);int exitValue = executor.execute(commandLine);
HUH函数
TA贡献1836条经验 获得超4个赞
我假设您知道如何使用ProcessBuilder
。执行命令。
从Java执行命令总是应该从进程中读取stdout和stderr流。否则,可能会发生缓冲区已满并且因为写入stdout或stderr块而无法继续进程。
添加回答
举报
0/150
提交
取消