10.4.6 ByteArrayInputStream\ByteArrayOutputStream类

更新于 2026年10月10日 版权声明
10.4.6 ByteArrayInputStream\ByteArrayOutputStream类

数据源和数据目的地除了可以是磁盘文件等,也可以是内存中的存储空间,例如字节数组。字节数组流(ByteArrayInputStream\ByteArrayOutputStream)将数组作为数据源和数据目的地,在内存中提供读写缓冲区,用I/O流的方式完成对字节数组的读写,直接在内存中而不是磁盘上进行数据读写,提高数据存取的效率。

字节数组输入流(ByteArrayInputStream)有两个构造方法,都需要字节数组参数作为数据源,创建一个新的字节数组输入流。该流的主要作用是从内存缓冲区(字节数组)读数据。

字节数组输出流(ByteArrayOutputStream)也有两个构造方法,都会创建一个新的字节数组输出流,其中的数据被写入缓冲区(一个字节数组),缓冲区会随着数据的不断写入而自动增长。其中无参构造方法创建的输出流对象缓冲区初始容量是 32 字节,有参构造方法通过参数指定初始缓冲区容量(以字节为单位)。

【例10.11】从以字节数组作为数据源的字节数组输入流中读取数据,显示到屏幕上。

图示

图示

运行结果如图10.10所示。(https://www.daowen.com)

向字节数组输出流(ByteArrayOutput Stream)中写数据,实际会写到缓冲区(一个字节数组),当程序要使用写到缓冲区中的数据时,可以通过ByteArrayOutput Stream类提供的toByteArray()方法获取代表缓冲区的字节数组对象,通过访问该数组实现对缓冲数据的访问。下面例子演示了这个过程。【例10.12】使用ByteArrayOutputStream向缓冲区写入数据,然后访问该缓冲区数据。

图示

图10.10 运行结果

图示

图示

图10.11 运行结果

运行结果如图10.11所示。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)