java 调用其他程序,并传递参数
情况是这样的:
1.一套软件,是个转换格式的软件,阿帕比的ApaMaker.exe 双击打开有选择要转换的文件,然后他会转换成*.cebx文件
我用这个方法调用的
Runtime run = Runtime.getRuntime(); try { run.exec("\"C:\\Program Files\\Founder\\Apabi Maker 5.0\\Bin\\ApaMaker.exe \" -file \"D:\\TEMP\\2.CEB \" \"D:\\TEMP\\2.CEBX\"");ProcessBuilder pb = new ProcessBuilder("dir", "c:\\");Process p = pb.start();InputStreamReader is = new InputStreamReader(p.getInputStream());int c;while( (c=is.read())!=-1) { System.out.print((char)c);}int exitCode = p.waitFor();System.out.println(exitCode);
[解决办法]
俺先是在linux下运行,windows 的确有点不同阿, LZ, 再试试这个,
这个应该可以传参数
ProcessBuilder pb = new ProcessBuilder("notepad", "c:/1.txt");
[解决办法]
2种参数(Runtime.exec, ProcessBuilder) 传递方式都可以,
有可能就像楼上 dxqrr 所说,需要确定ApaMaker.exe 需要的参数
[解决办法]
这个软件有他自己的转换方法的,应该看下技术说明文档。其他系统调用的时候不太可能还打开这个转换工具。而且这个转换的方法一般是在页面调JS就可以实现。
[解决办法]
参数不对,可以问下给你程序的人,参数怎么传递,也可以google 下 程序的参数