java的Runtime类处理打开有空格的文件

最近在做文件管理的项目,在开发过程中遇到了一个问题。调用Runtime类的方法,去打开指定路径下的文件时,当文件名不含有空格,可以正常打开文件;而当文件名含有空格时,打开文件失败。例如:

1.String absolutePath = "E:\\test\\测试文件.docx";
2.String absolutePath = "E:\\test\\测试  文件.docx";

Runtime.getRuntime().exec("cmd /c start " + absolutePath);

其中,1 是能正常打开的,而 2 含有空格,打开失败。经查阅发现,在调用批处理命令打开文件名含有空格的文件时,需要在空格的前后加上“ ”。

解决办法:

Runtime.getRuntime().exec("cmd /c start " + absolutePath.replace(" ", "\" \""));
这样就可以正常打开文件名中含有空格的文件了~

猜你喜欢

转载自blog.csdn.net/CQHaveADream/article/details/80049044