JAVA基础:数组流

前言

在使用之前学习的流读数据时都是从文件中读取数据,再把数据写入文件,在一些特殊的业务场景下我们可能会需要把读到的数据写到数组中,这就可以用到数组流

数组流的创建

数组流是一个节点流,节点流是直接和数据源进行连接的,那么文件流和文件连接需要文件的路径

数组流和数组连接就需要一个数组

数组流包括ByteArrayInputStream , ByteArrayOutputStream , CharArrayReader , CharArrayWriter

分别是,字节数组输入流,字节数组输出流,字符数组输入流,字节数组输出流

通过名字可以知道数组流可以读写的数据也分为两种分别是字节和字符

byte[] dataArrayStream = "xxx is good!!!".getBytes();
ByteArrayInputStream bis = new ByteArrayInputStream(dataArrayStream) ;

ByteArrayOutputStream bos = new ByteArrayOutputStream(10);

使用输入流时我们需要给他传递一个数组,数组流会把数组中的数据当作数据源

使用输出流时我们可以规定输出流能存储的字节的大小,也可以不指定大小

数组流的使用

ByteArrayOutputStream bos = new ByteArrayOutputStream(10);
bos.write(97);
bos.write(98);
bos.write(99);

byte[] bytes = bos.toByteArray();

在上述代码中先是创建了一个字节数组输出流,在使用文件流时是将数据写入文件,数组输出流就是把数据写入内部的数组

写的代码和方法都和之前的流一样,在写入三个数字后,这些数字就都存储在流的数组中

我们可以通过toByteArray方法将流中的所有数据打包成一个字节数组

你可能感兴趣的:(java,idea)