IO流概念

所谓的IO流就是 输入输入 :
I = Input 输入O = Output 输出
无论是输入还是输出 ,都是以Java虚拟机为参照物
输出:Java中创建的对象,失去引用之后这种就会被GC回收掉,那如果需要将这种对象永久的保存起来,可以数据输出到磁盘保存?
IO流 - 图1
输入:如果想把外部文件的内容,加载到程序的内部来
IO流 - 图2
输入输出 其实就是把虚拟机里数据和磁盘的数据进行交互 ,有了输入输出,那么我们的数据就可以永久的持久化了

IO流的分类

(1)、从数据流的方向来分

  1. 输入流
  2. 输出流

    (2)、从流处理数据的最小单位来分

  3. 字节流每次按照字节byte为单位,进行数据的传输

  4. 字符流每次按照字符char为单位,进行数据的传输

    (3)、从流的功能来分

  5. 节点流节点流:针对某些特殊的数据源(磁盘文件,数据库,内存,网络),进行直接读/写的流 (正常的流)

  6. 包装流功能流:不直接对应的数据源,它是在节点流的基础上,进一步封装了某特殊的功能(提供某些缓冲能力)