在Java中获取命令行的响应

在Java中获取命令行的响应,java,shell,batch-file,Java,Shell,Batch File,我不知道这是否可能,但我想看看我的.bat文件在Java中的响应 或者一个布尔值的东西,我可以看到一切都很顺利!如果有一些错误,我可以看到Java中的错误 谢谢您需要使用运行它(只要您运行的是java 1.5或更高版本,如果不是,请检查Alex的答案) 如果您执行: Process process = new ProcessBuilder("mybat.bat").command(); 你们可以打电话给我 InputStream errorStream = process.getErrorS

我不知道这是否可能,但我想看看我的.bat文件在Java中的响应

或者一个布尔值的东西,我可以看到一切都很顺利!如果有一些错误,我可以看到Java中的错误


谢谢

您需要使用运行它(只要您运行的是java 1.5或更高版本,如果不是,请检查Alex的答案)

如果您执行:

Process process = new ProcessBuilder("mybat.bat").command();
你们可以打电话给我

InputStream errorStream =  process.getErrorStream();
您将捕获从bat到stderr的输出


您还可以使用on-process获取sdtout或检查返回代码。

查看这些通过java执行shell命令的代码示例:


上面的代码示例没有使用
ProcessBuilder
,因此不限于Java 1.5及以上版本

您的问题很不清楚。您是说从Java程序打印到控制台吗?(使用System.out.println()。我不确定.bat文件是从哪里来的。对不起,我正在Windows命令行中运行.bat文件。但是我正在为用户构建一个程序,所以这不是只运行bat文件的最佳方式,用户不会得到任何反馈。我希望现在更清楚了!ProcessBuilder方法要求使用字符串数组,如果我在那里使用bat文件,它将不起作用。@Gynnad使用bat文件是什么意思?我正在传递一个描述bat文件的字符串(或者是bat文件的路径,或者如果它在系统路径上,那么就只传递bat文件名),ProcessBuilder的文档(答案中提供的链接)中对此进行了详细描述。如果您使用的是Java1.5或更高版本,则应该使用ProcessBuilder。