站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题Runtime.getRuntime().exec如果执行的".bat"有错误,那么就死了,如何解决?(在线)

Runtime.getRuntime().exec如果执行的".bat"有错误,那么就死了,如何解决?(在线)

摘要: Runtime.getRuntime().exec如果执行的".bat"有错误,那么就死了,如何解决?(在线)


1、Runtime.getRuntime().exec(cmd.bat)如果cmd.bat可以正常执行,那么java程序很快就执行完了了,但是如果cmd.bat执行过程中有一些错误(在操作系统MS_DOS下,过一段时间也能执行完),此时Process p = Runtime.getRuntime().exec(cmd.bat);就没有响应了,请问如何能解决这个问题?

2、又没有其他可以代替Runtime.getRuntime().exec的类?


应该是没有可以取代的。



针对第一个问题,你可以在一个线程中去调用exec。
如果要同步的话,你可以wait加上超时等机制来做。



帮你UP
没遇到过这种问题


再写一个bat,用windows的 start命令调用exe(限于windows)


保证那个批处理正常的运行..


TO:healer_kx(<正统天降甘草>http://healerkx.spaces.live.com/)
>针对第一个问题,你可以在一个线程中去调用exec。
>如果要同步的话,你可以wait加上超时等机制来做。
能具体一点吗?尤其是加上wait超时?
谢谢


Process p = Runtime.getRuntime().exec("cmd.bat",null,dir);//dir为路径
或者Process p = Runtime.getRuntime().exec(“cmd.bat”);


↑返回目录
前一篇: JAVA模拟按键精灵的问题
后一篇: 如何获得Set的Class?