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面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》