如何在Android应用中逐行获取进程输出?

11 浏览
0 Comments

如何在Android应用中逐行获取进程输出?

我正在使用以下代码:

var reader: Int = 0

val buffer = CharArray(4096)

var output = StringBuilder()

val process = processBuilder.start()

var inputStream = BufferedReader(InputStreamReader(process.getInputStream()));

while ({ reader = inputStream.read(buffer); reader }() > 0) {

output.append(buffer, 0, reader)

println("Debug: " + output.toString())

}

inputStream.close()

process.waitFor()

它运行良好,但有两个问题不符合我的需求:

1)它无法实时检索每一行。它会从实际输出中缓冲一些行,并在每次循环中显示它们。

2)结果被追加。我只需要每次迭代中实际和单独的输出行。

0