A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在看毕老师视频的时候有一集是讲Runtime类的,其中讲到了可以通过exec方法打开应用程序,我按照老师的代码打完没有得到相应的结果,下面给出代码和控制台错误提示,请各位高手帮忙解惑啊!在此求教,不胜感激!

  1. <p>//通过代码打开C盘中的美图秀秀应用程序。路径没有问题,是直接copy过来的。</p><p>class RuntimeDemo
  2. {
  3. public static void main(String[] args) throws Exception
  4. {
  5.   //System.out.println("Hello World!");
  6.   Runtime r = Runtime.getRuntime();
  7.   r.exec("C:\\Program Files\\Meitu\\XiuXiu\\XiuXiu.exe");
  8. }
  9. }
  10. </p><p> </p>
复制代码

以下是控制台报出的错误:

D:\test\java>javac RuntimeDemo.java
D:\test\java>java RuntimeDemo
Exception in thread "main" java.io.IOException: Cannot run program "C:\Program":
CreateProcess error=2, ?????????
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
        at java.lang.Runtime.exec(Runtime.java:615)
        at java.lang.Runtime.exec(Runtime.java:448)
        at java.lang.Runtime.exec(Runtime.java:345)
        at RuntimeDemo.main(RuntimeDemo.java:21)
Caused by: java.io.IOException: CreateProcess error=2, ?????????
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(ProcessImpl.java:288)
        at java.lang.ProcessImpl.start(ProcessImpl.java:133)
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)
        ... 4 more


请各位高手大神指教

10 个回复

倒序浏览
可能是你电脑设置的问题吧.
回复 使用道具 举报
qq8921310 发表于 2014-11-7 21:22
可能是你电脑设置的问题吧.

应该怎么设置啊?
回复 使用道具 举报
qq8921310 发表于 2014-11-7 21:22
可能是你电脑设置的问题吧.

应该怎么设置啊?
回复 使用道具 举报
在java中获取文件路径的时候,有时候会获取到空格,但是在中文编码环境下,空格会变成“%20”从而使得路径错误
回复 使用道具 举报
qq8921310 发表于 2014-11-8 13:12
在java中获取文件路径的时候,有时候会获取到空格,但是在中文编码环境下,空格会变成“%20”从而使得路径 ...

对,我也发现了,好像是因为Program File这个文件名之间的空格的问题,我换了一个没有空格的路径名就可以正常运行了。
可是怎么解决呢?
系统默认的程序文件都是存放在Program File里的啊?
回复 使用道具 举报
没怎么考虑过,你试试new File();
回复 使用道具 举报
qq8921310 发表于 2014-11-8 13:56
没怎么考虑过,你试试new File();

把路径封装在File对象里?
回复 使用道具 举报
C:\\Program Files\\Meitu\\XiuXiu\\XiuXiu.exe  是这里的问题,你现在dos 下运行看看,能不能打开美图秀秀
回复 使用道具 举报
荣英洁 发表于 2014-11-8 19:04
C:\\Program Files\\Meitu\\XiuXiu\\XiuXiu.exe  是这里的问题,你现在dos 下运行看看,能不能打开美图秀秀 ...

你的意思是用cmd启动?应该不是路径啊。
回复 使用道具 举报
学习了:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马