您的位置:首页 > 编程语言 > Java开发

Java Runtime.getRuntime().exec() 执行带空格命令

2015-03-24 13:42 447 查看
可执行文件路径如果包含空格,则在java中不能被获取到。
此时Debug一下,会发现 project=null. project.waitFor 的返回值为1.但是去源路径单击bat文件是可以正常运行的,说明问题出在文件路径上。

将文件路径中的空格用双引号引起来就可以了

原先的代码

String batpath = file.getCanonicalPath() + "\\resources\\runTest.bat";
//run bat file
Process project = Runtime.getRuntime().exec("cmd.exe /c " + batpath.);
int exitcode=project.waitFor();
//kill the process
project.destroy();
logger.info(exitcode);


修改后的代码

//run bat file
Process project = Runtime.getRuntime().exec("cmd.exe /c " + batpath.replaceAll(" ", "\" \""));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: