运行环境:linuxProcess 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了,这样就没有读完所有的输出了!
BufferedReader bufferedOut = new BufferedReader(new InputStreamReader( process.getInputStream()));String str;
while(null != (str = bufferedOut.readLine()) {
...
}问题:上面的代码,能否保证所有的输出都被读取到?
假如命令执行很慢,而读取很快,不会不会命令还没执行完,就readLine等于null了,这样就没有读完所有的输出了!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货