如何在Kotlin中将InputStream转换为BufferInputStream?
fun ConvertStreamToString(inputStream:InputStream): String {
val bufferreader=BufferedReader(InputStreamReader(inputStream))
var line= String
var AllString:String=""
try {
do {
line=bufferreader.readLine()
if (line!=null){
AllString+=line
}
答案 0 :(得分:1)
如果您有InputStream
,则可以使用标准库中的buffered
从中创建BufferedInputStream
:
val buffered: BufferedInputStream = inputStream.buffered()
如果您想要创建BufferedReader
(如代码中所示),则可以使用bufferedReader
扩展名。
val reader: BufferedReader = inputStream.bufferedReader()
如果您想阅读BufferedReader
的所有行,您可以执行以下任何操作:
val lineList: List<String> = reader.readLines()
val lineSequence: Sequence<String> = reader.lineSequence()
val linesAsOneString: String = reader.lineSequence().joinToString("\n")
因此,例如,您可以像这样实现原始函数:
fun convertStreamToString(inputStream: InputStream)
= inputStream.bufferedReader().lineSequence().joinToString(separator = "")