Java使用Runtime.exec无法打开路径带空格的文件(报错)的解决办法

最近在做文件搜索器时遇到的一个棘手的问题,就是用runtime.exec调用cmd打开文件,如果路径带空格,则会提示找不到路径,打不开文件,最后经过一番折腾,终于知道如何解决,特写此博客分享:

解决方法
1. 在windows下如果 想打开的是文件 :D:\Program Files\test.txt
2. 那么我们输入 start ” ” “D:\Program Files\test.txt 然后回车即可
3. 就是在 start 后加上一个空格 加上一对双引号 加上 空格 加上一对双引号 (最后一个双引号里面是真实的路径和文件名)
4. 代码(正确和错误的写法)

Runtime runtime = Runtime.getRuntime();  //获取runtime对象
String path = D:\Program Files\test.txt;  //文件路径  **注意有空格**
//错误的写法
runtime.exec("cmd /c start " + path); //**执行CMD 命令** 重点
//正确的写法:
//   \"也就是一个双引号:  规则是:satrt + 空格 + "" + 空格 + " + 真实路径 + " 
runtime.exec("cmd /c start " + "\"\" \"" + fomatPath(path) + "\"");//**执行CMD 命令** 重点
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值