简单地用Java调用系统上的可执行文件

在这个案例中,涉及到了单例设计模式


[java] view plaincopy在CODE上查看代码片派生到我的代码片

  1. <span style="font-size:18px;">class RuntimeTest  

  2. {    

  3.     public static void main(String[] args) throws Exception  

  4.     {  

  5.           Runtime runtime = Runtime.getRuntime();  

  6.           runtime.<span style="color:#000099;">exec("notepad.exe");  

  7.           <strong>//打开记事本应用程序</strong></span>  

  8.     }  

  9. }  

  10. </span>  

       笔者在这里只是简单的抛出了一个Exception,在实际应用中自然不推荐这样处理,exec()这个方法用于运行对应的文件。
        有一点要提及的是,exec()这个方法里的参数为字符串,如果你要打开本机磁盘上摸个exe文件,应该这要输入(这里以笔者本机上的QQ为例):D:\\Program Files (x86)\\Tencent\\QQ\\Bin\\QQ.exe;  这里要输入两次\,原因想必学过一点编程的人都懂(转义字符)


             对于上面那个打开记事本应用程序的例子,至于为甚麽不用输入对应的磁盘路径,原因是这样的,大家在配置jdk时,都会填写一个叫做path的系统环境变量,对于系统自带的应用程序,是不用加入磁盘路径的(一般是在c盘里的Program File(x86)文件夹)。

       在打开notepad这个应用程序时,后面可以加个文件名(可以用记事本正常打开的文件) 


[java] view plaincopy在CODE上查看代码片派生到我的代码片

  1. <span style="font-size:18px;">    runtime.exec("notepad.exe"  RuntimeTest.java);  

  2.      //用记事本打开RuntimeTest.java文件</span>  


            此外,可以用Process类里面的destroy()方法杀掉进程,但是这个方法只能杀掉由Runtime这个类开启的程序,而不用杀掉非Runtime类调用的程序,诸如操作系统一些自起的程序。

           

[java] view plaincopy在CODE上查看代码片派生到我的代码片

  1. <span style="font-size:18px;">class RuntimeTest1  

  2. {    

  3.     public static void main(String[] args) throws Exception  

  4.     {  

  5.           Runtime runtime = Runtime.getRuntime();  

  6.           Process p = runtime.exec("notepad.exe");  

  7.           //打开记事本应用程序  

  8.          Thread.sleep(5000);  

  9.          //使进程休眠5秒  

  10.          p.destroy();  

  11.          //杀死记事本进程  

  12.     }  

  13. }</span>  


你可能感兴趣的:(java,可执行文件)