java.IO下面的类

流的分类

这里的输入输出是以我们程序为参照物
输入流 从持久化向程序的内存中输入 Input
输出流 从内存向持久化输出 Output
节点流 就是原生的输入输出流 和处理流 将原生的节点流包装处理
也可以分为 字节流 和字符流
这四个类是流的基类
特点 我们如何区分他是字节流还是字符流 看后缀
以Stream 结尾的是字节流 以 Reader Writer 结尾的是字符流

字节流的基类 节点流 处理流(也叫做缓冲流)
InputStream FileInputStream BufferedInputStream
OutputStream FileOutputStream BufferedOutputStream
字符流的基类 节点流 处理流(也叫做缓冲流)
Reader FileReader BufferedReader
Writer FileWriter BufferedWriter

操作文件的基本步骤

IO流 - 图1

  • FileReader
    方法
    read() 返回读取的字符 编码 可以转成char
    没有字符可以读取了返回-1
    使用read的重载 里面填充char数组 注意这里要读取多少转换多少
    建议char数组的长度为1024或者1024的倍数 或者512
    但凡读取完我们一定要关闭流
    输出流
    程序的内存向持久化(文件)输出
    在写入文件的时候 文件不存在会自动创建的
    文件在写入的时候 默认是覆盖原文件
    如果不想覆盖 而是想添加 那就在构造器后面加一个参数true
    操作文件主要分为两个方向 如果文本文件就使用字符流
    如果其他文件就使用字节流
    字符流和字节流 我们看后缀的
    Reader 和Writer 结尾的是字符流
    Stream 结尾的是字节流