原以为不会有什么问题,但在测试时发现,问题大了。

如果想调用f:\mp3\i love you.mp3时,

我原以为正确的写法是:

//在文件名前后加个双引号来解决文件名中有空格的情况

String file="f:\mp3\i love you.mp3";

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

可结果证明我是错的,系统抛出异常。

此时很不解,如果不这样写,那该怎么写?

这个时候到baidu.com去搜索了一下,看到一篇文章说在dos下,如果对操作的文件名或文件夹有空格的情况下,将空格本身的前面和后面加一个双引号,并不是把整个路径的前面和后面加一个双引号。

//将空格的左边和右边加上双引号:

Runtime.getRuntime().exec("cmd /c start "   +   file.replaceAll(" ", "\" \""));

这样问题就解决了。

2007-04-20

Runtime.getRuntime().exec(...),当参数中有空格时!的更多相关文章

  1. Java Runtime.getRuntime().exec() 执行带空格命令

    可执行文件路径如果包含空格,则在java中不能被获取到. 此时Debug一下,会发现 project=null. project.waitFor 的返回值为1.但是去源路径单击bat文件是可以正常运行 ...

  2. 使用Runtime.getRuntime().exec()方法的几个陷阱 (转)

    Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法 ...

  3. [转]使用Runtime.getRuntime().exec()方法的几个陷阱

    Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法 ...

  4. 使用Runtime.getRuntime().exec()方法的几个陷阱

    Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法 ...

  5. Runtime.getRuntime.exec()执行linux脚本导致程序卡死有关问题

    Runtime.getRuntime.exec()执行linux脚本导致程序卡死问题问题: 在Java程序中,通过Runtime.getRuntime().exec()执行一个Linux脚本导致程序被 ...

  6. 用Runtime.getRuntime().exec()需要注意的地方

    有时候我们可能需要调用系统外部的某个程序,此时就可以用Runtime.getRuntime().exec()来调用,他会生成一个新的进程去运行调用的程序. 此方法返回一个java.lang.Proce ...

  7. 使用Runtime.getRuntime().exec()在java中调用python脚本

    举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本.假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用ja ...

  8. Runtime.getRuntime().exec(...)使用方法

    Runtime.getRuntime().exec(...)使用方法 如果想要了解更多的信息,参阅代码里面给的链接  下面是这个正确的例子 public class RuntimeExec { /** ...

  9. 关于Runtime.getRuntime().exec()产生阻塞的2个陷阱

    本文来自网易云社区 背景 相信做java服务端开发的童鞋,经常会遇到Java应用调用外部命令启动一些新进程来执行一些操作的场景,这时候就会使用到Runtime.getRuntime().exec(), ...

随机推荐

  1. InputFormat的数据划分、Split调度、数据读取

    在执行一个Job的时候,Hadoop会将输入数据划分成N个Split,然后启动相应的N个Map程序来分别处理它们.数据如何划分?Split如何调度(如何决定处理Split的Map程序应该运行在哪台Ta ...

  2. 防火墙禁ping:虚拟机ping不通主机,但主机可以ping虚拟机

    现象:刚装的centos6.6,配置好网络却发现ping不通主机,主机却ping通虚拟机: 解决方法: 1.最简单的方法就是:关闭防火墙.但一直关闭防火墙也不是个办法,会遇到很多安全问题,建议下一个方 ...

  3. python之路--JavaScript

    一. JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,希望这门语言能成为国际化标准,于是决定将Jav ...

  4. Java线程的5种状态及切换(透彻讲解)-京东面试

    一.Thread的几个重要方法: 我们先了解一下Thread的几个重要方法. a.start()方法,开始执行该线程:b.stop()方法,强制结束该线程执行:c.join方法,等待该线程结束.d.s ...

  5. SWT 几个sample网站

    https://www.programcreek.com/java-api-examples/org.eclipse.swt.custom.ScrolledComposite https://o7pl ...

  6. echo显示颜色

    如有转载,不胜荣幸.http://www.cnblogs.com/aaron-agu/ [;;34m hello aaron \[0m”

  7. git和svn的區別

    https://blog.csdn.net/bmicnj/article/details/78413058

  8. JavaScript之简易http接口测试工具网页版

    简易http接口测试工具网页版,支持get.post请求,支持json格式消息体,form表单暂不支持. httpClient.html <!DOCTYPE html> <html ...

  9. 一、.NET Core MVC 项目结构模板

    一.图文描述,开口干 二.文件结构:  wwwroot 首先,Razor Pages项目中多了一个wwwroot的文件夹,这个文件夹中,主要存放网站的静态资源,如css,网站图片资源文件,js文件,三 ...

  10. Python——Menu控件

    一.参数说明: tearoff  :分窗,0为在原窗,1为点击分为两个窗口 bg,fg  : 背景,前景 borderwidth: 边框宽度 font :  字体 activebackgound   ...