ByteArrayInputStream: https://www.cnblogs.com/zhangj-ymm/p/9842657.html
ByteArrayOutputStream是字节数组输出流,它把数据写入到自己的数组中,数组的大小会随着数据的不断增加而自动增长.
- 通过ByteArrayOutputStream()创建的"字节数组输出流"对应的字节数组大小是32
- 通过ByteArrayOutputStream(int size)创建的"字节数组输出流"对应的字节数组大小是size.
- write(int oneByte)的作用将int类型的oneByte换成byte类型,然后写入到流中.
- write(byte[] buffer,int offset,int len)是将字节数组buffer写入到流中,offset是从buffer中读取数据的起始偏移量,len是读取长度
- writeTo(OutputStream out)将数据写到"输出流out"中
public class ByteArrayOutputStreamTest { private static final int LEN = 5; // 对应英文字母“abcddefghijklmnopqrsttuvwxyz” private static final byte[] ArrayLetters = { 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A }; public static void main(String[] args) { // 创建字节输出流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); // 依次写入“A”、“B”、“C”三个字母。0x41对应A,0x42对应B,0x43对应C,写入到流中 baos.write(0x41); baos.write(0x42); baos.write(0x43); System.out.printf("baos=%s ", baos); // 将ArrayLetters数组中从“3”开始的后5个字节写入到baos中。 baos.write(ArrayLetters, 3, 5); System.out.printf("baos=%s ", baos); } } // baos=ABC // baos=ABCdefgh