【发布时间】:2019-06-11 13:42:40
【问题描述】:
我正在尝试将对象的 print() 函数的标准输出重定向到字符串变量中。
为了做到这一点,我使用了以下 Java 导入(在 Kotlin 中):
import java.io.PipedOutputStream
import java.io.PipedInputStream
import java.io.PrintStream
还有以下功能:
fun index(): String {
val df_out = DataFrame.fromJson("https://jsonplaceholder.typicode.com/posts")
val pipeOut = PipedOutputStream()
val pipeIn = PipedInputStream(pipeOut)
System.setOut(PrintStream(pipeOut));
df_out.print(maxRows = 10)
val dfAsStr = pipeIn.bufferedReader().use { it.readText() }
return dfAsStr
}
我们的想法是将print() 方法的输出捕获到PipedInputStream 中,以便能够将其作为(已处理的)字符串返回。
此功能代码不会终止。
【问题讨论】:
标签: kotlin inputstream stdout