java 如何调用 exe 文件
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。
应用程序不能创建自己的 Runtime 类实例。
1. static Runtime getRuntime()
返回与当前 Java 应用程序相关的运行时对象。
2. Process exec(String command)
在单独的进程中执行指定的字符串命令。
[code]
import java.io.IOException;
public class TestRT {
/**
* 使用Runtime对象的exec方法,调用外部exe文件。
*/
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
try {
rt.exec("mspaint.exe");
rt.exec("D:\\Program Files\\Tencent\\QQ\\Bin\\QQ.exe");
} catch (IOException e) {
e.printStackTrace();
}
}
}
[/code]
运行cmd命令
[code]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JOptionPane;
public class TestRT {
public final static int END_MARK = 0;
/**
* 使用Runtime对象的exec方法,运行cmd命令。
*/
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
try {
Process pr = rt.exec("ping www.hao123.com "); //运行cmd命令
BufferedReader br = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String s = br.readLine();
String temp = "" ;
while(null != s ){
if(!"".equals(s.trim())) temp = s;
System.out.println(s);
s = br.readLine();
}
br.close();
//导致当前线程等待,如果必要,一直要等到由该 Process 对象表示的进程已经终止。
pr.waitFor();
//此 Process 对象表示的子进程的出口值。根据惯例,值 0 表示正常终止。
if (END_MARK == pr.exitValue()) {
JOptionPane.showMessageDialog(null, temp );
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
[/code]
每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。
应用程序不能创建自己的 Runtime 类实例。
1. static Runtime getRuntime()
返回与当前 Java 应用程序相关的运行时对象。
2. Process exec(String command)
在单独的进程中执行指定的字符串命令。
[code]
import java.io.IOException;
public class TestRT {
/**
* 使用Runtime对象的exec方法,调用外部exe文件。
*/
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
try {
rt.exec("mspaint.exe");
rt.exec("D:\\Program Files\\Tencent\\QQ\\Bin\\QQ.exe");
} catch (IOException e) {
e.printStackTrace();
}
}
}
[/code]
运行cmd命令
[code]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JOptionPane;
public class TestRT {
public final static int END_MARK = 0;
/**
* 使用Runtime对象的exec方法,运行cmd命令。
*/
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
try {
Process pr = rt.exec("ping www.hao123.com "); //运行cmd命令
BufferedReader br = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String s = br.readLine();
String temp = "" ;
while(null != s ){
if(!"".equals(s.trim())) temp = s;
System.out.println(s);
s = br.readLine();
}
br.close();
//导致当前线程等待,如果必要,一直要等到由该 Process 对象表示的进程已经终止。
pr.waitFor();
//此 Process 对象表示的子进程的出口值。根据惯例,值 0 表示正常终止。
if (END_MARK == pr.exitValue()) {
JOptionPane.showMessageDialog(null, temp );
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
[/code]