2017-08-05 55 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 = "") 
相關問題