我怎么能将InputStream转换成kotlin中的BufferInputStream

如何将InputStream转换为Kotlin中的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 } 

如果你有一个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 = "")