- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在实现 mailx
通过 Runtime.exec 命令并发现这篇文章解释了正确的方法。
我已经浏览了这些示例,发现他们引入了一个新类 StreamGobbler
它接受输入流并打印输出。但是我不明白引入这一点的原因。谁能解释一下吗?
作为我的代码的一部分,我编写了以下内容
OutputStreamWriter osw = new OutputStreamWriter(proc.getOutputStream())
osw.write(mailBody)
osw.close
这个实现正确还是有任何陷阱?
最佳答案
由于您的程序可能会成功(这意味着程序的输出将在 Process'
getInputStream()
上可用),也可能会失败(这意味着程序的错误将在 Process'
getErrorStream()
上可用,因此您应该能够并行读取这些内容,因此需要一个由 StreamGobbler
类实现的单独线程。希望这能够向范围。
关于java - 了解 StreamGobbler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12257123/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 个月前。 Improve t
使用自编的StreamGobbler来运行php脚本,我正在尝试在脚本运行时将命令输入到脚本中... StreamGobbler.java private class StreamGobbler ex
我已经通过了StreamGobbler我了解它的用法和实现原因。然而,所涵盖的场景只是那些可能有命令输出/处理错误的场景。 我没有发现任何使用 StreamGobbler 处理输入的场景。例如,在 m
在下面的代码中,作者使用Runtime来调用子流程。但我不明白他为什么使用StreamGobbler。如果换成InputStream会发生什么?请帮助我,谢谢! public class GoodWi
我在谷歌上搜索了一个通过 Java 键盘输入来运行应用程序的解决方案,但是当我尝试运行 sudo apt update 时,该程序显示了所有信息(包括密码要求),但它没有显示您想继续吗? [Y/n]
我是一名优秀的程序员,十分优秀!