Я пытаюсь перенаправить стандартный вывод функции 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
, чтобы иметь возможность возвращать его как (обработанную) строку.
Этот код функции не заканчивается.