java如何调用exe文件?

java如何调用exe文件?,第1张

public class transferExe {

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包程序了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8005176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存