在此程序中,您将学习如何使用Java中的InputStreamReader将输入流(InputStream)转换为字符串。
示例:将InputStream转换为String
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); } }
运行程序时,输出为:
Hello there!
在上述程序中,输入流是从String创建的,并存储在变量stream中。 我们还需要一个字符串生成器sb来从流中创建字符串。
然后,我们从InputStreamReader创建一个缓冲读取器br来读取stream中的行。使用while循环,我们读取每一行并将其附加到字符串构建器中。最后,我们关闭了bufferedReader。
因为阅读器可以抛出IOException,所以我们在主函数中具有IOException抛出:
public static void main(String[] args) throws IOException