主题: Java如何调用外部exe程序? 最后时间: 2004-12-19 下午4:52 总回复: 33 页: 3 [ 转去: 1 2 3
] |
| |
该主题总专家分:0 可给专家分:0 |
| 我想用Java调用WinZip并带路径进行批处理压缩解压缩。 请问各位有谁知道如何实现??? Java如何调用外部exe程序? |
|
Runtime.getRuntime().exec(cmd)
cmd是代表外部命令的字符串 |
|
你查一下 java.lang.Runtime的exec( )方法 |
|
另外,JDK有 java.util.zip 包中可直接压解ZIP文件 |
|
so good , I also need it! thanks god
|
|
exe文件可以用此方法调用,可是其它的可执行文件用此方法无效。请问大虾还有其它的对象/方法调用除exe文件外的其它可执行文件吗?
谢谢! |
|
cmd.exe is not can be call by that method
|
|
应该不能直接调用系统关联的文件吧,如:Jpg 是在Windows下的图片文件(用默认的工具打开),但如果在Unix中就是不同的操作机制!因为Java是夸平台的当然不能有这样的API调用! |
|
试试用这个语句吧 Runtime hello=Runtime.getRuntime(); hello.exec("cmd /E:ON /c start winword.doc"); 其中“winword.doc”是你想调用的程序本例是调用一个word文档 记住要将该文件存放在你的相应的java类文件的目录下或给出相对路径 |
|
其实,JAVA里调用exec()就完全脱离了JAVA的JVM环境,因此,以后的运行的环境就要靠自己来维护。 Runtime.getRuntime().exec(cmd) 其中CMD,最好定义为数组cmd[0]="OS的COMMAND -C",WINDOWS="cmd.exe",linux="sh " cmd[1]="调用的程序 + paremeter1 paremeter2 paremeter3 ..... paremetern" cmd[2]="其他的附加要求",例如:输入或输出重定向。 cmd[1]=如果调用JAVA 自己的类,那么CLASPATH是要自己加的。 cmd[1]="java -cp $CLASSPATH:"/home/tomcat/classes":"/home/tomcat/clases12.jar test pare1 pare2 ......" linux下的。
|
|
问题1 当我把此TestExe.java改写成servlet后,并在jsp页面中用链接访问此servlet时, hello.exec()中给出绝对路径(如程序一中第8行)时,winzip.exe可以被执行! 但给出相对路径(如程序一中第7行)时报错!!!错误信息如下: “找不到文件winzip.exe(或他的组件之一),请确定路径和文件名是否正确,而且 所需的库文件可用。" 我的疑问是为什么同样是.java程序和winzip.exe放在相同路径下, 程序一能运行, servlet却出错呢?
望高手指点!!!
问题2 用上面的方法可以调.exe,用什么方法调.bat(如tomcat中的startup.bat)呢? 我用程序一中的方法[hello.exec("cmd /E:ON /c start d:/jakarta-tomcat-5.0.25/bin/startup.bat");]调了一下startup.bat出错!
问题如下: The CATALINA_HOME environment variable is not defined correctly.This environment variable is needed to run this program. 望高高手指点!!!!!!
|
|
高手,现在我也正要搞这个东东
我想问一下 我要调用的外部命令有很多参数,是不是也能用cmd[]的方试传递呢?
谢谢! |
|
回复: 33, 页: 3 [ 转去: 1 2 3
] |
|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理