ByteInputStream和ByteOutputStream
内存形式:都是以字节的形式写入或者读取的,凡是用以上两者进行的IO操作,其写入的数据是以字节形式保存的。而读取时,数据在流中形式是以字节形式存在的,但是read()的返回值是int型,所以写数据时,要先将数据转换为字节,得到数据的时候要对其也就是对read()的返回值要进行转型操作。
import java.io.ByteArrayInputStream;
public class ByteArray{
public static void main(String[] args){
byte[] b={2,5,3};//在创建实例之前必须将其转换为Byte型 (注意:我用的这个本身就是,如果是其他的就需要转换)
ByteArrayInputStream in=new ByteArrayInputStream(b);//b代表的是数据源
int a=-1;
while((a=in.read())!=-1){
System.out.println((byte)a);//读取时需要进行转型才能得到原来的数据
} 结果: 2
5
3
}
}
ByteArrayOutputStream 在创建时会创建一个缓冲区所有的数据会被写入到这个缓冲区 相当于直接与内存直接打交道。