Kotlin Program to Convert InputStream to String

Example: Convert InputStream to String

import java.io.*

fun main(args: Array<String>) {

    val stream = ByteArrayInputStream("Hello there!".toByteArray())
    val sb = StringBuilder()
    var line: String?

    val br = BufferedReader(InputStreamReader(stream))
    line = br.readLine()

    while (line != null) {
        sb.append(line)
        line = br.readLine()
    }
    br.close()

    println(sb)

}

When you run the program the output will be:

Hello there!

In the above program, the input stream is created from a String and stored in a variable stream. We also require a string builder sb to create the string from the stream.

Then, we created a buffered reader br from the InputStreamReader to read the lines from the stream. Using a while loop, we read each line and append it to the string builder. Finally, we closed the bufferedReader.

Since, the reader can throw IOException, we have the throws IOException in the main function as:

public static void main(String[] args) throws IOException

Here's the equivalent Java code: Java program to convert InputStream to String.

Did you find this article helpful?