操作字节数组
ByteArrayInputStream和ByteArrayOutputStream
clipboard.png
clipboard.png
用于操作字节数组的流对象
ByteArrayInputStream:在构造时,需要接收数据源,而且数据源是一个字节数组
ByteArrayOutputStream:在构造的时候,不用定义数据目的,因为该对象中已经内部封装了可变长度的字节数组,这就是数据目的地
因为这两个流对象都操作数组,并没有使用系统资源,所以不用进行close关闭
在流操作规律讲解时:
源设备:键盘:System.in,硬盘:FileSystem,内存:ArrayStream
目的设备:控制台:System.out,硬盘:FileSystem,内存:ArrayStream
用流的读写思想来操作数据
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
public class ByteArrayStreamDemo {
public static void main(String[] args) throws Exception {
ByteArrayInputStream bais = new ByteArrayInputStream("ABCDE".getBytes());
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int by;
while ((by = bais.read()) != -1) {
baos.write(by);
}
System.out.println(baos.size());
System.out.println(baos.toString());
baos.writeTo(new FileOutputStream("E:\\info.txt"));
}
}
网友评论