• 梳理一下我所知的输入输出流


    四大基本流
    输入流
    InputStream类(抽象类)字节输入流,中文乱码
        子类:FileInputStream类
    Reader类(抽象类)字符输入流
        子类:InputStreamReader类  字节转换成字符
            孙子类:FileReader类
        子类:BufferedReader

    输出流
    OutputStream类 (抽象类) 字节输入流,中文乱码
        子类:FileOutputStream类
            孙子类:FileReader类
    Writer类  (抽象类) 字符输入流
        子类:OutputStreamWriter类
            孙子类:FileWriter类
        子类:BufferedWrite类

    缓冲流(基本流的增强)
    字节缓冲流︰
    BufferedInputStream   extends InputStream  字节缓冲输入流
        使用步骤(重点)∶
    1.创建FileInputStream对象,构造方法中绑定要读取的数据源
    2.创建BufferedInputStream对象,构造方法中传递FiLeInputStream对象,提高FiLeInputStream对象的读取效率
    3.使用BufferedInputStream对象中的方法read ,读取文件
    4 .释放资源

        
    BufferedOutputStream  extends OutputStream  字节缓冲输出流
        使用步骤(重点)
    1.创建FileoutputStream对象,构造方法中绑定要输出的目的地
    2.创建BufferedOutputStream对象,构造方法中传递FiLeOutputStream对象对象,提高FileoutputStream对象效率
    3.使用BufferedOutputstream对象中的方法Write,把数据写入到内部缓冲区中
    4.使用BufferedOutputStream对象中的方法flush,把内部缓冲区中的数据,刷新到文件中
    5.释放资源(会先调用fLush方法刷新数据,第4部可以省略)

    字符缓冲流:
    BufferedReader extends  Reader  字符缓冲输入流
    使用步骤:
    1.创建字符缓冲输出流对象,构造方法中传递字符输出流
    2.调用字符缓冲输出流中的方法Write,把数据写八到内存缓冲区中
    3.调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据,刷新到文件中4.释放资源

    BufferedWriter  extends  Writer  字符缓冲输出流
        构造方法:
    BufferedReader(Reader in)创建一个使用黑认大小输入缓冲区的缓冲字符输入流。
    BufferedReader(Reader in, int sz)创建一个使用指定大小输入缓冲区的缓冲字符输入流。参数:
    Reader in:字符输入流
    我们可以传递FileReader ,缓冲流会给FileReader增加一个缓冲区,提高FiLeReader的读取效率
        特有的成员方法:
    string readLine()读取一个文本行。读取一行数据
    行的终止符号:通过下列字符之一即可认为某行已终止:换行〈'\n ')、回车('\r')或回车后直接跟着换行(\rln)。
        返回值:
    包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回null
    使用步骤:
    1.创建字存缓冲输入流对象,构造方法中传递字将输入流
    2.使用字符缓冲输入流对象中的方法read/readLine读取文本
    3.释放资源


    文件复制的步骤:
    1.创建字节缓冲输入流对象,构造方法中传递字节输入流
    2.创建字节缓冲输出流对象,构造方法中传递字节输出流
    3.使用字节缓冲输入流对象中的方法read,读取文件
    4.使用字节缓冲输出流中的方法Write,把读取的数据写入到内部缓冲区中
    5.释放资源(会先把缓冲区中的数据,刷新到文件中)


    待我慢慢完善哈

  • 相关阅读:
    【Web前端大作业实例网页代码】html+css新闻资讯网页带dw模板和登陆注册(9页)
    基于毫米波雷达的手势识别算法
    【微软技术栈】C#.NET 中使用依赖注入
    dashboard中虚拟机冷迁移失败后虚拟机回退到正常状态流程、openstack数据库中修改虚拟机信息流程
    Android通知Notification使用全解析,看这篇就够了
    云计算安全体系介绍
    17 C++设计模式之状态(State)模式
    DEVOPS: 认证与调度
    PLC滑动平均值滤波(SMART 200梯形图篇)
    UNet代码练习
  • 原文地址:https://blog.csdn.net/qq_62917168/article/details/126431778