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\n", baos); // 將ArrayLetters數組中從“3”開始的后5個字節寫入到baos中。 baos.write(ArrayLetters, 3, 5); System.out.printf("baos=%s\n", baos); } } // baos=ABC // baos=ABCdefgh