Byte转InputStream经常在Java开发中使用到,下面详解Byte转InputStream对象的方法及两个步骤。
第一步:创建一个ByteArrayInputStream对象
如下示例:
- // 创建一个byte数组
- byte[] bytes = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
- // 创建一个ByteArrayInputStream对象
- ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
第二步:使用ByteArrayInputStream对象读取byte数组中的数据
如下示例:
- // 读取ByteArrayInputStream对象中的数据
- int data;
- while ((data = byteArrayInputStream.read()) != -1) {
- System.out.print((char) data);
- }
以下byte转InputStream的示例代码:
- import java.io.*;
- public class ByteToInputStreamDemo {
- public static void main(String[] args) {
- try {
- // 创建一个byte数组
- byte[] bytes = {72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100};
- // 创建一个ByteArrayInputStream对象
- ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
- // 读取ByteArrayInputStream对象中的数据
- int data;
- while ((data = byteArrayInputStream.read()) != -1) {
- System.out.print((char) data);
- }
- // 关闭输入流
- byteArrayInputStream.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
在上面的byte转InputStream示例中,主要分为如下步骤:
- 我们首先创建一个byte数组bytes,然后创建一个ByteArrayInputStream对象byteArrayInputStream,用于读取byte数组中的数据。
- 在while循环中,每次从ByteArrayInputStream对象中读取一个字节的数据,并将其转换为char类型输出到控制台中。
- 最后,我们通过调用ByteArrayInputStream类的close()方法关闭输入流。
mikechen睿哥
mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!

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