JavaIO

操作字节数组的流对象

ByteArrayInputStream:在构造的时候,需要接收数据源,而且数据源是一个字节数组。
ByteArrayOutputStream:在构造的时候,不用定义数据目的,因为该对象内部已经封装了可变长度的字节数组。这就是数据目的地

close():因为这两个流对象操作的数组,并没有使用系统资源。所以不用进行close关闭流

在流操作规律讲解

● 源设备:
  键盘System.in
  硬盘FileStream
  内存ArrayStream
● 目的设备:   控制台System.out   硬盘FileStream   内存ArrayStream

字符数组

CharArrayInputStream
CharArrayOutputStream

字符串数组

StringArrayInputStream
StringArrayOutputStream

例:

package cn.itcast.io.p7.bytestream;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;

public class ByteArrayStreamDemo {

    public static void main(String[] args) {
        
        //数据源
        ByteArrayInputStream bis = new ByteArrayInputStream("不争不辩 不闻不见".getBytes());
        //数据目的地
        ByteArrayOutputStream bos = new ByteArrayOutputStream();

        int ch = 0;
        while((ch = bis.read()) != -1){
            bos.write(ch);
        }
        System.out.println(bos.toString());
    }

}
原文地址:https://www.cnblogs.com/Dm920/p/12461755.html