数据源和数据目的地除了可以是磁盘文件等,也可以是内存中的存储空间,例如字节数组。字节数组流(ByteArrayInputStream\ByteArrayOutputStream)将数组作为数据源和数据目的地,在内存中提供读写缓冲区,用I/O流的方式完成对字节数组的读写,直接在内存中而不是磁盘上进行数据读写,提高数据存取的效率。
字节数组输入流(ByteArrayInputStream)有两个构造方法,都需要字节数组参数作为数据源,创建一个新的字节数组输入流。该流的主要作用是从内存缓冲区(字节数组)读数据。
字节数组输出流(ByteArrayOutputStream)也有两个构造方法,都会创建一个新的字节数组输出流,其中的数据被写入缓冲区(一个字节数组),缓冲区会随着数据的不断写入而自动增长。其中无参构造方法创建的输出流对象缓冲区初始容量是 32 字节,有参构造方法通过参数指定初始缓冲区容量(以字节为单位)。
【例10.11】从以字节数组作为数据源的字节数组输入流中读取数据,显示到屏幕上。
运行结果如图10.10所示。
向字节数组输出流(ByteArrayOutput Stream)中写数据,实际会写到缓冲区(一个字节数组),当程序要使用写到缓冲区中的数据时,可以通过ByteArrayOutput Stream类提供的toByteArray()方法获取代表缓冲区的字节数组对象,通过访问该数组实现对缓冲数据的访问。下面例子演示了这个过程。【例10.12】使用ByteArrayOutputStream向缓冲区写入数据,然后访问该缓冲区数据。(www.daowen.com)
图10.10 运行结果
图10.11 运行结果
运行结果如图10.11所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。