如何在Kotlin中将InputStream转换为BufferInputStream

时间:2017-08-05 22:05:22

标签: android-studio kotlin

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

1 个答案:

答案 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 = "")