我需要通过java语言调用外部exe文件CartoonConsole.exe,它含有三个参数,分别为原图片地址、配置类型1(眼镜)、配置类型2(发型),生成的结果应该为处理后的图片。在命令行下执行CartoonConsole.exe C:\testpic none none是可以生成结果的,而在java语言中使用语句:
Process child = Runtime.getRuntime().exec("C:\\FaceCartoonConsole.exe C:\\test.bmp none none");却无法生成结果(exe文件未被执行)。小弟百思不得其解,请前辈指教!非常感谢!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【Alexanderlee1987】截止到2008-07-24 15:41:45的历史汇总数据(不包括此帖):
    发帖的总数量:1                        发帖的总分数:20                       每贴平均分数:20                       
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:20                       
    结贴的百分比:0.00  %               结分的百分比:0.00  %                  
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    试一下这个。
    Process child = Runtime.getRuntime().exec(" cmd /c start C:\\FaceCartoonConsole.exe C:\\test.bmp none none");
      

  3.   

    child.wairFor(); 你运行了吗?还有,你可以调用 .bat 
      

  4.   

    我没有运行child.waitFor(),它是怎么用的?(还有,程序中的参数不止是none,可以根据需要改变参数,因此不能使用.bat)
    请您指教,非常感谢!
      

  5.   

    我试着没有问题呀,可以执行。
    Runtime.getRuntime().exec(" cmd /c start C:\\t.exe 7 8 9");
      

  6.   

    通过child.getErrorStream()和child.exitValue()看一下错误信息和返回值。
      

  7.   

    参考一下这个 http://www.java2000.net/p101
    看看你的程序到底输出了什么!
      

  8.   

    回复java2000_net前辈:我试了这个程序,但没有产生任何输出。
      

  9.   

    回复xieboshi:child.getErrorStream()和child.exitValue()是直接加在程序之后吗?但没有产生任何输出。
      

  10.   

    回复gudujian607:但我这个FaceCartoonConsole.exe程序始终无法运行,我都怀疑是exe文件本身有问题。
      

  11.   

    我也怀疑你的exe是不是有问题,为了测试我昨天下午还专门生成了一个exe文件,并把参数传过去,一点问题没有。
    小和尚不打诳语,哈哈。你再测试一下你exe文件吧。
      

  12.   

    问题得到解决了,利用类似  
     Process child = Runtime.getRuntime().exec("cmd /c C:&&cd C:\\Tomcat\\Tomcat\\&&FaceCartoonConsole.exe 31.bmp none none" );的语句可以对exe文件进行调用。