Java IO流 --- 流(Stream)的概念与分类

流  --->  Stream

1.什么是流?

   流即代表流动,这里是指数据的流动,流是有方向的,从一端流向另一端,存在源头和目的地,即数据以一定形式(字符|字节)从源头流向目的地;

   程序     <------------->    文件|数组|网络连接|数据库(存放数据的对象)

   数据在程序和可操作数据源之间流动,以程序为中心

2. IO流的分类

    1)流向
        输入流|输出流
    2)数据类型
        字节流:以二进制形式传输(可以处理一切文件,如纯文本|音频|视频等)
        字符流以文本文件形式传输(只能处理纯文本)
    3)流的功能
        节点流:包裹源头(靠近源头最近的流)
        处理流:增强功能,提高性能(靠近目的地的流)
3. 字符流和字节流
    1)字节流
        输入流:InputStream ---> FileInputStream
        read(byte[] b)读取字节数组|read(byte[] b,int off, int len)读取一定长度字节数组+close();
        输出流:OutputStream ---> FileInputStream
        write(byte[] b)写入字节数组|write(byte[] b,int off, int len)写入一定长度字节数组+flush()刷新并强制写出+close();
    2)字符流
        输入流:Reader ---> FileReader
        read(char[] cbuf)读取字符数组|read(char[] cbuf,int off, int len)读取一定长度字符数组+close();
        输出流:Writer ---> FileWriter
        write(char[] cbuf)写入字符数组|write(char[] cbuf,int off, int len)写入一定长度字符数组+flush()刷新并强制写出+close();
4. 操作
    1)建立与文件联系
    2)选择对应流
    3)文件读取|写入
        数组大小
        read|write方法将数据读取|写入
    4)释放资源

猜你喜欢

转载自blog.csdn.net/qq_30007589/article/details/81078825