1. exec(String command)
2. exec(String command, String envp[], File dir)
3. exec(String cmd, String envp[])
4. exec(String cmdarray[])
5. exec(String cmdarray[], String envp[])
6. exec(String cmdarray[], String envp[], File dir)
一般的应用程序可以直接使用第一版本,当有环境变量传递的时候使用后面的版本。其中2和6版本可以传递一个目录,标识当前目录,因为有团咐手些程序是使用相对目录的,所以就要使用这个版本。
实例:
Process process = Runtime.getRuntime().exec(".\\p.exe")
process.waitfor()
在上面的程序中,第一行的“.\\p.exe”是要执行的程序名,Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。通过Process可以控制该子进程的执行或获取该子进程的信塌嫌息。第二条语句的目的等待子进程完成再简迟往下执行。
Java提供的Process调用本地程序的方法很简单,无法对程序进行更进一坦扰步的控制,最好的办法是使用Windows SDK编写DLL,然后在Java中采用JNI的方式调用。另外,你也可以使用jnative来键睁实现这个功能,jnative对Windows API进行了封装,提供了Java的调用接口,可以在Java中直接使用,很方便。
网站地址http://jnative.sf.net/
另外网上也有很让亮旦多使用例子。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)