java调用linux,为什么只返回部分结果

[复制链接]
查看11 | 回复1 | 2021-1-27 07:05:22 | 显示全部楼层 |阅读模式
//commands是多条命令组成的数组,直接在linux命令执行没问题,但是用java来执行有问题
Processps=Runtime.getRuntime().exec(commands);
BufferedReaderbr=newBufferedReader(newInputStreamReader(
ps.getInputStream()));
StringBuffersb=newStringBuffer();
Stringline;
while((line=br.readLine())!=null){
sb.append(line).append("\n");
}
result=sb.toString();
执行完之后,值看到有返回部分结果,不知道是为什么。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:05:22 | 显示全部楼层
因为有的命令是向标准错误输出的,看你调的这玩意像是popen,默认都是重定向标准输出到管道的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行