java如何调用exe文件?

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

public class transferExe {\x0d\x0a public static void main(String[] args) {\x0d\x0a openWinExe()\x0d\x0a openExe()\x0d\x0a }\x0d\x0a //烂前蔽用 Java 调用windows系统的exe文饥州件,比如notepad,calc之类\x0d\x0a public static void openWinExe() {\x0d\x0a Runtime rn = Runtime.getRuntime()\x0d\x0a Process p = null\x0d\x0a try {\x0d\x0a String command = "notepad"\x0d\x0a p = rn.exec(command)\x0d\x0a } catch (Exception e) {\x0d\x0a System.out.println("Error win exec!")\x0d\x0a }\x0d\x0a }\x0d\x0a //调用悔宽其他的可执行文件,例如:自己制作的exe,或是 下载 安装的软件.\x0d\x0a public static void openExe() {\x0d\x0a Runtime rn = Runtime.getRuntime()\x0d\x0a Process p = null\x0d\x0a try {\x0d\x0a p = rn.exec("\"D:/QQ2010.exe\"")\x0d\x0a } catch (Exception e) {\x0d\x0a System.out.println("Error exec!")\x0d\x0a }\x0d\x0a }\x0d\x0a }

最近用到在java中调用本地的一个程序,梁如是windows中的exe格式的程序,毁做利用神奇的互联网找到了解决的方法,发现异常简单的几句代码就可以实现 见代码:[*]package com.java.test[*][*]public class OpenEXE {[*][*]/**[*]* @param args[*]*/[*]public static void main(String[] args) {[*][*]Runtime rt = Runtime.getRuntime()[*]Process p = null[*]try{[*]p =rt.exec([*]new String[]{""D:/Notepad2/Notepad2.exe "","d:/EntPartner_2.xml"})[*]System.out.println("成功打开软件和纤渣衡文件!

比如调用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了。


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

原文地址: http://outofmemory.cn/yw/12367033.html

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

发表评论

登录后才能评论

评论列表(0条)

保存