public static void main(String[] args) {
openWinExe()
openExe()
}
//用 Java 调用windows系统的exe文件,比如notepad,calc之类
public static void openWinExe() {
Runtime rn = Runtime.getRuntime()
Process p = null
try {
String command = "notepad"
p = rn.exec(command)
} catch (Exception e) {
System.out.println("Error win exec!")
}
}
//调用其他的可执行文件,例如:自己制作的exe,或是 下载 安装的软件.
public static void openExe() {
Runtime rn = Runtime.getRuntime()
Process p = null
try {
p = rn.exec("\"D:/QQ2010.exe\"")
} catch (Exception e) {
System.out.println("Error exec!")
}
}
}
比如调用exe程序"java -version":String[] cmd = new String[] {"java", "-version"}
Process process = Runtime.getRuntime().exec(cmd)
BufferedReader r = new BufferedReader(new InputStreamReader(process.getErrorStream()))
String l = null
while((l = r.readLine()) != null) {
System.out.println(l)
}
Process有两个流可以读取外部程序的标准输出(就是运行结果啦),一个是getInputStream,一个是getErrorStream。
如果要调用C或C++动态链接库中的函数的话,就要复杂一些,要用到JNI了。
/**
*
* @author kaifang
* @date 2017年12月5日下午4:43:45
*/
public class Test22 {
public static void main(String[] args) {
try {
//运行jar包程序“textencode.jar”,需要运行那个改成那个jar包名称即可
Runtime.getRuntime().exec("java -jar " + "textencode.jar")
} catch (IOException e) {
e.printStackTrace()
}
}
}
这种方式很多此一举,最简单的是使用批处理建立.bat文件,里边写:
java -jar textencode.jar
双击就可以运行jar包程序了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)