byte buf[] 字节数组作为他的缓冲区当前起始下标 pos 为0count为数组长度mark位置为0
public ByteArrayInputStream(byte[] buf,...pos 为 指定的偏移量个数为offset+length 和 buf.length中小的那个mark为偏移量起始地址可以理解为,这个字节数组偏移量的部分才是数据源,前面都没关系
read方法
读取下一个位置的字节如果下一个位置...,也就是补符号位,值不变按零位扩展,也就是补零时,相当于有符号数转变为无符号数所以在数值计算中,直接使用类型提升,数值不变而对于编解码时,需要进行转换&0xff这种方式就是来确保是按补零扩展0xff默认为...和reset而且 很显然,mark方法的输入参数是无效的何处调用,何处就是标记点调用reset就是pos设置到标记点
为什么mark 的参数无效?...,转存到入参指定的输出流中相当于把流中的数据重写了一份到另外的输出流
toString()
计算机所有的数据都是二进制存储,最小的单位是字节,字符的编码形式也正是字节所以,toString其实就是把字节序列进行解码