美文网首页
Java 装饰流

Java 装饰流

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

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

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

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

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

相关文章

  • Java 装饰流

    先来说一下Java的转换流:InputStreamReader: 将输入的字节流转变为字符流OutputStrea...

  • java基础之IO流(设计模式)

    java IO流的设计是基于装饰者模式&适配模式,面对IO流庞大的包装类体系,核心是要抓住其功能所对应的装饰类。 ...

  • Java IO包装流如何关

    问题: (1)JAVA的IO流使用了装饰模式,关闭最外面的流的时候会自动调用被包装的流的close()方吗? (2...

  • Java IO流装饰设计模式

    装饰设计模式: 当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。那么...

  • Android里一个装饰者模式的应用场景——给RecyclerV

    Java中最常见的装饰者模式应用就是IO流的设计了。先简单回顾一下装饰者模式: 装饰者模式的思想就是在被包装者原有...

  • Java I/O 总结

    Java I/O的的架构使用了装饰器的模式,我们在使用流的时候需要新建很多的装饰器对象,对源数据进行层层包装。各个...

  • 设计模式详解——装饰者模式

    本篇文章介绍一种设计模式——装饰者模式。装饰者模式在Java中的典型应用就是IO流,在本篇文章中将有详细介绍。本篇...

  • Java流中的装饰者模式

    1.介绍 2.可被包装类 3.包装类 4.小栗子(使用已经有的包装类) 5.自定义包装类(大写字母转成小写字母),...

  • IO流中的装饰者模式初探

    以上一篇中的代码为例: Java中的IO流设计:使用装饰者模式:要在InputStream外面套上一层InputS...

  • Java之IO流详解

    title: Java之IO流详解tags: Java IO流categories: Java IO流 大多数应用...

网友评论

      本文标题:Java 装饰流

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