Android应用程序无法从InputStreamReader显示输出,并且进程返回退出代码1。
创始人
2024-10-13 01:31:39
0

如果你在Android应用程序中使用ProcessBuilder执行命令,有时会发现没有任何输出显示在你的InputStream Reader中,甚至在你的进程完成之后也没有。这可能是因为你忘记了使用inheritIO()方法将子进程的输出和错误流继承到你的应用程序。

以下是解决该问题的示例代码:

try {
    ProcessBuilder processBuilder = new ProcessBuilder("ls", "-l");
    processBuilder.redirectErrorStream(true);
    Process process = processBuilder.start();
     
    // 继承子进程的输出流和错误流
    processBuilder.inheritIO();
     
    int exitCode = process.waitFor();
     
    Log.d(TAG, "Exit Code: " + exitCode);
} catch (IOException | InterruptedException e) {
    e.printStackTrace();
}

在上面的示例代码中,我们使用ProcessBuilder执行命令“ls -l”。在启动子进程之前,我们使用redirectErrorStream()方法将子进程的输出和错误流合并到一个流中。然后,我们使用inheritIO()方法将这个合并后的流继承到我们的应用程序的标准输出和错误流中。

通过这种方法,您应该能够读取并显示子进程的输出。如果你仍然无法读取输出,请确保子进程正在输出到标准输出流而不是错误流中。

相关内容

热门资讯

一起来探讨!德州辅助工具到底怎... 1、一起来探讨!德州辅助工具到底怎么样,pokemmo辅助工具,安装教程(有挂神器)(UU poke...
玩家必备教程!wejoker黑... 玩家必备教程!wejoker黑侠辅助器,pokemmo手机版脚本,切实教程(有挂神器);人气非常高,...
实操分享!cloudpoker... 自定义cloudpoker怎么开挂系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用...
总算清楚!pokemmo脚本辅... 总算清楚!pokemmo脚本辅助下载,hhpoker软件安装包,可靠教程(有挂方法)1、许多玩家不知...
最新技巧!wepoker底牌透... 最新技巧!wepoker底牌透视,wejoker内置辅助,AI教程(有挂透视)1、点击下载安装,微扑...
技巧知识分享!wejoker透... 技巧知识分享!wejoker透视方法,hhpoker辅助软件是真的么,微扑克教程(有挂辅助);hhp...
科普常识!We poker辅助... 科普常识!We poker辅助器下载,hhpoker作弊码,wpk教程(有挂神器);原来确实真的有挂...
实操分享!wepoker私人辅... 实操分享!wepoker私人辅助器,哈糖大菠萝有挂吗,插件教程(有挂神器)是一款可以让一直输的玩家,...
总算了解!xpoker辅助,a... 总算了解!xpoker辅助,aapoker辅助插件工具,扑克教程(有挂软件);致您一封信;亲爱aap...
重磅来袭!wepoker破解器... 重磅来袭!wepoker破解器有用吗,wepoker辅助器官方,安装教程(有挂教程);最新版2024...