日期:2014-05-17 浏览次数:20718 次
当我们用Java调用exe的时候,执行了exe并没有得到输出结果,而在dos下该exe可以正确运行,
如果该exe有以下特点:
1输入参数是一个文件或多个。
2输出结果到一个文件或多个。
那么就要考虑另一种解决办法了,用bat,而不是直接使用exe。
批处理文件是很好写的可以直接写上命令的绝对路径即可。
"D:\make.exe" %*
%*就表示给bat传递参数。
至于为什么会产生以上原因,估计是Windows上的Java虚拟机对exe处理的bug。
建议:在程序中通过调用批处理来代替调用外部复杂的exe。
后来,经过很多天后,才发现并不是Java虚拟机的bug,而是在Windows上装的杀毒软件把此调用给屏蔽了,所以把杀毒软件禁用后就可以了。