学习目标

  • File类
    • File类的作用
    • File类的常用功能
  • 字节流
    • IO流的作用及分类
    • 字节流读写数据
    • 字节缓冲流读写数据
  • Properties集合
    • Properties集合的介绍
    • Properties集合和IO相关功能
    • Properties集合集合流操作
  • 递归

    • 递归思想
    • 递归案例

      1.IO流

      10_JavaSE进阶-字节流,Properties,递归 - 图1
      补充:IO资源的处理
  • JDK7版本前捕获处理异常

使用try…catch…finally , 把释放资源操作,放在finally代码块中,手动释放资源;代码过于复杂。

  • JDK7版本捕获处理异常优化

使用try-with-resource , 需要把流对象放在try的小扩中 , 流资源在使用完毕 , 自动释放资源 , 代码相对于做了简化。

2. 字节流

2.1 字节流能解决什么问题 ?

  1. 字节流一般用于处理字节数据(诸如图片、视频)。 | 字节输出流 | | 字节输入流 | | | —- | —- | —- | —- | | 步骤 | 注意和补充 | 步骤 | 注意和补充 | | 创建字节输出流对象 |
    - 文件不存在,就创建。
    - 文件存在就清空。否则加true
    | 创建字节输入流对象 | 若文件不存在,直接报错。 | | 写数据 |
    - 可写一个字节,一个字节数组,一个字节数组的一部分
    - 写一个回车换行:\r\n
    | 读数据 | 读出来的是文件中数据的码表值。 例:a → 97 | | 释放资源 | 调用close方法,断开流与文件之间的关联 | 释放资源 | 每次使用完流必须要释放资源。 |

2.2 字节缓冲流如何使用 ?

  1. 字节缓冲流:
  • lBufferOutputStream:缓冲输出流
  • lBufferedInputStream:缓冲输入流
  1. 构造方法:
  • 字节缓冲输出流:BufferedOutputStream(OutputStream out)
  • 字节缓冲输入流:BufferedInputStream(InputStream in)
    • :字节缓冲流仅仅提供缓冲区,而真正的读写数据还得依靠基本的字节流对象进行操作。

      3. Properties集合

      3.1 Properties集合能解决什么问题 ?

      Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。

      3.2 Properties集合和IO相关的功能 ?

      | 方法名 | 说明 | | —- | —- | | void load(InputStream inStream) | 以字节流形式 , 把文件中的键值对, 读取到集合中 | | void load(Reader reader) | 以字符流形式 , 把文件中的键值对, 读取到集合中 | | void store(OutputStream out, String comments) | 把集合中的键值对,以字节流形式写入文件中 , 参数二为注释 | | void store(Writer writer, String comments) | 把集合中的键值对,以字符流形式写入文件中 , 参数二为注释 |

4. 递归

4.1 递归思想及能解决什么问题 ?

4. 当日问题小结

4.1 当日遇到的问题

4.2 出现问题原因

4.3 解决问题方案

若有收获,就点个赞吧