Read realtime output of a command
如何从 Java 读取 shell 命令的实时输出
这是我目前所拥有的,但它在命令执行后打印:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
try {
proc = Runtime.getRuntime().exec(“du -d 1 /sdcard/”); InputStream inputStream = proc.getInputStream(); while ((line = bufferedReader.readLine()) != null) { |
- 顺便说一句,您在哪里看到 System.out.println 的输出?
- 你的输出中只有一行吗?
- du 非常快。然而,你尝试过 ProcessBuilder 和 Process.start 吗?
- @pedja 在 LogCat 中,您会看到 Log 方法的输出,而不是 System.out.println
- 不,它的命令 du 来自 linux。扫描整个文件夹并显示大小
- @fiddler 它也打印 System.out.println
- @pedja 哦,您说的是已弃用的 LogCat 视图
- System.out.println 不是问题。在 onProgressUpdate 中更新 ui 也会发生同样的情况
- 我在 Windows 上测试了你的代码,它立即打印输出
试试这个:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
try {
proc = Runtime.getRuntime().exec(“du -d 1 /sdcard/”); InputStream inputStream = proc.getInputStream(); while ((line = bufferedReader.readLine()) != null) { |
来源:https://www.codenong.com/13530429/