美文网首页
Java 装饰流

Java 装饰流

作者: 乘瓠散人 | 来源:发表于2017-12-03 12:34 被阅读51次

    先来说一下Java的转换流:
    InputStreamReader: 将输入的字节流转变为字符流
    OutputStreamWriter: 将输出的字符流转变为字节流
    过程例如:

    • 写入数据-->内存中字符数据-->字符流-->OutputStreamWriter-->字节流-->文件保存(或网络传输)
    • 读取数据<--内存中的字符数据<--字符流<--InputStreamReader<--字节流<--文件保存(或网络传输)
      不管如何操作,最终都是以字节的形式保存在文件中或进行网络传输。

    Java装饰流:
    按照流是否直接连接实际数据源,例如文件,网络,字节数组等,可以将流分为实体流和装饰流两大类。

    • 实体流指直接连接数据源的流类,如FileInputStream/FileOutputStream和FileReader/FileWriter,该类流直接实现数据源转换为流对象,实体流类均可单独使用。
    • 装饰流不直接连接数据源,而是以其它流对象(实体流对象或装饰流对象)为基础建立的流类,该类流实现了将实体流中的数据进行转换,增强了流的读写能力,常用的有DataInputStream/DataOutputStream和BufferedReader/BufferedWriter等,装饰流不可以单独使用,必须配合实体流或装饰流使用。
    • 由于装饰流都是在已有流对象基础上进行创建的,所以这种创建流的方式被称作“流的嵌套”。装饰流不改变原来实体流对象中的数据内容,只是进行了一些功能的增强。

    相关文章

      网友评论

          本文标题:Java 装饰流

          本文链接:https://www.haomeiwen.com/subject/bnsabxtx.html