2017-08-05 30 views
0

如何将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 
      } 

回答

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 = "") 
相关问题