最近在做文件管理的項目,在開發過程中遇到了一個問題。調用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(" ", "\" \""));這樣就可以正常打開文件名中含有空格的文件了~