# Kotlin 程序：将`InputStream`转换为字符串

> 原文： [https://www.programiz.com/kotlin-programming/examples/convert-inputstream-string](https://www.programiz.com/kotlin-programming/examples/convert-inputstream-string)

#### 在此程序中，您将学习使用 Kotlin 中的`InputStreamReader`将输入流转换为字符串。

## 示例：将`InputStream`转换为`String`

```kt
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)

}
```

运行程序时，输出为：

```kt
Hello there!
```

在上述程序中，输入流是从字符串创建的，并存储在变量`stream`中。 我们还需要字符串构建器`sb`从流中创建字符串。

然后，我们从`InputStreamReader`创建了一个缓冲读取器`br`，以从`stream`中读取行。 使用`while`循环，我们读取每一行并将其附加到字符串生成器。 最后，我们关闭了`bufferedReader`。

因为，读者可以抛出`IOException`，所以我们在主函数中将抛出`IOException`如下：

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

以下是等效的 Java 代码：[将`InputStream`转换为`String`的 Java 程序](/java-programming/examples/convert-inputstream-string "Java program to convert InputStream to String")。