IO框架

  • 什么是流
    • 概念:内存与存储设备之间传输数据的通道
  • 流的分类

    • 按方向 【重点】 :
    • 输 入流: 将< < 存储设备> > 中的内容读入到< < 内存> > 中。
    • 输出流: 将< < 内存> > 中的内容写入到< < 存储设备> > 中。
    • 按单位 :
    • 字节流: 以字节为单位,可以读写所有数据 。
    • 字符流: 以字符为单位 , 只能读写文本数据 。
    • 按功能 :
    • 节点流 : 具有 实际 传输 数据的读写功能。
    • 过滤流: 在节点流的 基础之上增强功能 。

  • 字节流
    • 父类(抽象类)
      • InputStream:字节输入流
      • OutputStream:字节输出流
    • 字节节点流
      • FileOutputStream
      • FileInputStream
    • 字节过滤流
      • 缓冲流: BufferedOutputStream/BufferedInputStream
      • 提高 IO 效率,减少访问磁盘的次数;
      • 数据存储在缓冲区中, flush 是将缓存区的内容写入文件中,也可以直接close.
    • 字节过滤流
      • 数据流: DataOutputStream/DataInputStream
        • 直接读写8 8 种基本数据类型
        • 直接读写字符串: writeUTF (String str) ) / readUTF
      • 对象流: ObjectOutputStream/ObjectInputStream
        • 增强了缓冲区功能
        • 增强了读写8中基本数据类型和字符串功能- 增强了对象的功能:readObject(),writeObject(Object obj)
      • 使用流传输对象的过程称为序列化,反序列化.
      • 对象系列化:
        • 必须 实现 Serializable 接口。
        • 必须保证其所有属性均可序列化。
        • transient 修饰为临时属性,不参与序列化 。
        • 读取到文件尾部的标志: java.io.EOFException
  • 字符流
    • 字符流父类(抽象类) Reader: 字符输入流 ; Writer: 字符输出流.
    • FileWriter文件字符输出流,继承Writer中的方法:
      • public void write(int n): 将单个字符写入到文件中
      • public void write(String str): 一次性写入多个字符
    • FileWriter文件字符输入流,继承Reader中的方法:
      • public int read(): 一次读取一个字符的内容
      • public int read(char c): 一次读取多个字符的内容,将读取到的内容存储在char类型数组中,返回值代表实际读取的字符个数,达到文件尾部返回 -1.
      • public int read(char c,int off,int len) :一次性读取多个字符的内容,将读取到的内容存储在 char 类型的数组中,存储的起始下标为 off, 读取的字符个数为len,返回值代表实际读取的字符个数,达到文件的尾部返回 -1
    • 过滤流 BufferedReader/PrintWriter: 缓冲流.
      • InputStreamReader/OutputStreamWriter: 桥转换流
      • 步骤总结
        • 创建字节节点流
        • 创建乔转换流,同时设置编码方式
        • 包装过滤流,方便读写操作
        • 读/写操作
        • 关闭: 只关闭最外层流
      • 异常处理
  • File类
    • IO 流: 对文件的内容操作.
    • File 类: 对文件自身进行操作,eg:删除文件,文件重新命名等.
    • 常用方法
      • public boolean createNewFile() :创建文件,创建成功返回 true ,如果文件存在返回值为 false 。
      • public boolean mkdir() :创建文件夹,创建成功返回 true ,如果文件存在返回值为 false 。
      • public boolean delete(): : 删除文件夹/ / 文件, , 删除成功返回 true, , 否则为 false.
        • 当删除文件夹时,只有当文件夹为空时,才可以删除;
        • 而删除文件时,不管文件内容是否为空,都会被删除.
      • public boolean renameTo(File f) :更改文件的名字,更改成功返回 true ,否则为 false.
      • public boolean setReadOnly()
      • public String getName() :获取文件名( ( 含扩展名) ),文件夹名.
      • public boolean isFile() :判断 File 对象所对应的是否为文件,而不是目录。
      • public boolean isDirectory(): : 判断 File 对象所对应的是否为目录,而不是文件.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值