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

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

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

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

```java
import java.io.*;

public class InputStreamString {

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

        InputStream stream = new ByteArrayInputStream("Hello there!".getBytes());
        StringBuilder sb = new StringBuilder();
        String line;

        BufferedReader br = new BufferedReader(new InputStreamReader(stream));
        while ((line = br.readLine()) != null) {
            sb.append(line);
        }
        br.close();

        System.out.println(sb);

    }
}
```

运行程序时，输出为：

```java
Hello there!
```

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

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

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

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