标签:好处 软件 处理 模式 操作系统 继承 多个 需要 output
概要
抽象构件 :第二行,InputStream接口,定义字节流的基本操作抽象装饰者 :第三行,与抽象构建接口是组合关系,动态的传入具体构件。第四行通过扩展抽象构件子类,为具体构件添加新的功能具体构件 :第一行,实现抽象构件 操作,具体装饰者 为每一个具体的构件添加新的职责具体装饰者 :第四行,有新职责的具体构建InputStream 时,是以一个字节一个字节形式读或写,而BufferedInputStream 与BufferedOutputStream 为字节流提供了缓冲区,读数据时一次性读取一块数据放到缓冲区中,当缓存区读取完后,输入流会再次填充缓冲区,直到输入流被读取完,缓冲区可以减少IO操作。DataInputStream ,从字节流中灵活的读取并重建Java的基本类型与String类型数据Reader 与Writer ,新的需求是字节流访问数据源,然后由字符流处理一个字节为单位读取,读到末尾返回-1 、它的重载方法read(byte[])内部是通过for循环调用read() 实现一次读入一个字节数组 ,按字节的read()方法的会有频繁IO操作,普通IO模型也会阻塞线程,直到返回一个字节数据或-1,效率太低适配器模式中字符流与字节流

字符流
Reader

Writer

-PS:个人笔记,望读者勘误。本文只例举了字节输入流与字符输入流两种,若读者理解了可以结合源码看输出流中设计模式
标签:好处 软件 处理 模式 操作系统 继承 多个 需要 output
原文地址:https://www.cnblogs.com/luckyCoder/p/12732217.html