首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于exec后读取结果的有关问题

2012-04-25 
关于exec后读取结果的问题运行环境:linuxProcess process Runtime.getRuntime().exec(new String[] {sh

关于exec后读取结果的问题
运行环境:linux

Process process = Runtime.getRuntime().exec(new String[] {"sh", "-c", "命令"});
BufferedReader bufferedOut = new BufferedReader(new InputStreamReader( process.getInputStream()));

String str;
while(null != (str = bufferedOut.readLine()) {
...
}

问题:上面的代码,能否保证所有的输出都被读取到?
假如命令执行很慢,而读取很快,不会不会命令还没执行完,就readLine等于null了,这样就没有读完所有的输出了!

[解决办法]
在没有读到结束符的时候,会一直读

热点排行