我正在用Java编写程序,并且为了打开存储在Excel文件中的历史记录,我使用cmd打开文件。我使用此指令。
Runtime.getRuntime().exec("cmd /c start P:\\ges of cam\\Results" + LocalDate.now().getMonthValue() + "-" + LocalDate.now().getYear() + ".csv");
正如您想象的那样,当我单击与此指令关联的按钮时,它没有打开,我知道为什么会打开。 问题是目录中包含空格,而cmd找不到该目录,但是 我对我的历史记录感兴趣,并继续在此文件夹中进行操作,但未更改该文件夹的名称。有什么解决办法吗?
我正在Windows 7和Windows 10计算机上工作。
答案 0 :(得分:0)
您需要在路径的包含空格的部分使用双引号。 为了使Java不会将双引号解释为字符串的结尾,您还需要转义双引号。
即Runtime.getRuntime().exec("cmd /c start P:\\\"ges of cam\"\\Results" + LocalDate.now().getMonthValue() + "-" + LocalDate.now().getYear() + ".csv");