2021-09-21 IO流(ByteArrayStream)

2021-10-17  本文已影响0人  Denholm

操作字节数组

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"));
    }

}
上一篇 下一篇

猜你喜欢

热点阅读