InputStream转String详解(手把手教你2步搞定)

InputStream转String详解(手把手教你2步搞定)-mikechen

将InputStream转换为String经常在Java开发使用,下面详解InputStream转String的详细步骤。

第一步:从InputStream中读取数据

如下示例:

// 创建一个InputStream对象,用于读取名为input.txt的文件
InputStream inputStream = new FileInputStream("input.txt");

第二步:将读取的数据转换为String对象

如下示例:

// 将InputStream中的数据读取到内存中
ByteArrayOutputStream result = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
  result.write(buffer, 0, length);
}

// 将读取的数据转换为String对象
String str = result.toString("UTF-8");

以下是完整的的InputStream转换为String示例代码:

import java.io.*;

public class InputStreamToStringDemo {
    public static void main(String[] args) {
        try {
            // 创建一个InputStream对象,用于读取名为input.txt的文件
            InputStream inputStream = new FileInputStream("input.txt");

            // 将InputStream中的数据读取到内存中
            ByteArrayOutputStream result = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int length;
            while ((length = inputStream.read(buffer)) != -1) {
                result.write(buffer, 0, length);
            }

            // 将读取的数据转换为String对象
            String str = result.toString("UTF-8");

            // 关闭输入流
            inputStream.close();

            System.out.println(str);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,主要分为如下几个步骤:

  1. 我们首先创建一个InputStream对象inputStream,用于读取名为input.txt的文件。
  2. 然后创建一个ByteArrayOutputStream对象result,用于将InputStream中的数据读取到内存中。
  3. 在while循环中,每次从输入流中读取数据,将数据写入到ByteArrayOutputStream对象result中。
  4. 最后,我们通过调用ByteArrayOutputStream类的toString()方法将读取的数据转换为String对象,并关闭输入流。

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法