最近在做文件管理的项目,在开发过程中遇到了一个问题。调用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(" ", "\" \""));这样就可以正常打开文件名中含有空格的文件了~