• io流总结


    java流的分类:

      1,按照流向分:

      

       怎么区分输入流和输出流呢,输入输出流是相对于计算机内存来说的,为不是相对于源和目标,比如说通过java去读取一个文件里面的内容就是需要把文件的内容通过流读取到内存中,

    对于内存来说,是输入,所以叫输入流,反之亦然。

      2,按照处理数据单元划分:

      

       字节流是8位通用字节流,也就是一个buye,字符流是16位的Unicode字符流。

      3,按照功能分类:

      节点流:可以直接从数据源或者目的地读取数据。

      处理流(包装流):不直接连接到数据源或者目的地,对其他流进行封装。目的是简化操作和提高性能。这里也设计到设计模式中的装饰器模式。

      转换流:将字节流转换称字符流,通常用来指定字符以什么样的编码格式读取和以什么样的编码格式写入。

    最后再附上java关于io主要类的关系图:

    下面来总结一下各种流的使用场景;

      文本操作: FileReader, FileWriter,BufferedReader(缓冲流),BufferedWriter(缓冲流)
      字符操作: FileInputStream, FileOutputStream,BufferedInputStream(缓冲流),BufferedOutputStream(缓冲流),InputStreamReader(转换流,字节转字符),OutputStreamWriter(转换流,字符转字节)
      基本数据类型操作:DataInputStream, DataOutputStream
      操作对象(序列化和反序列化): ObjectInputStream ,ObjectOutputStream

    具体每种流怎么操作这里就不一一描述了,这个需要自己多去练习。本身io流的api就比较简单,最重要的还是需要知道什么情况下用什么流。

  • 相关阅读:
    windows下git识别大小写配置
    Vim命令相关
    【Mac使用系列】【转载】十几个Mac实用工具
    【Mac使用系列】Mac锁屏及快捷键
    【Mac使用系列】常用软件及快捷键
    【Linux】Cent OS 虚拟机开机自启动配置
    【工具】使用markdown写ppt
    【产品管理】当我们在做产品时,以何种方式来表达?
    【区块链】区块链学习要点记录
    【树莓派】盒子常见问题处理办法
  • 原文地址:https://www.cnblogs.com/liu-yi/p/13543940.html
Copyright © 2020-2023  润新知