关于java:读取命令的实时输出
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) { |