博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 装饰模式
阅读量:3935 次
发布时间:2019-05-23

本文共 1516 字,大约阅读时间需要 5 分钟。

 

 

装饰类:

package the_mass.decorator;import java.io.*;public class LogOutputStream extends OutputStream {    private OutputStream os;    public LogOutputStream(OutputStream outputStream) {        this.os = outputStream;    }    @Override    public void write(int b) throws IOException {        this.os.write(b);    }    @Override    public void write(byte[] b) throws IOException {        System.out.println("开始了");        super.write(b);        System.out.println("结束了");    }}

 

充当进度条:

package the_mass.decorator;import java.io.IOException;import java.io.OutputStream;public class ProgressOutStream extends OutputStream {    private OutputStream os;    public ProgressOutStream(OutputStream outputStream) {        this.os=outputStream;    }    @Override    public void write(int b) throws IOException {        this.os.write(b);    }    @Override    public void write(byte[] b) throws IOException {        System.out.println(">>>>>>>>>>>>>");        super.write(b);    }}

测试:

package the_mass.decorator;import java.io.FileOutputStream;import java.io.IOException;public class Main {    public static void main(String[] args) throws IOException {        FileOutputStream outputStream =new FileOutputStream("e:/aaa");        LogOutputStream los = new LogOutputStream(outputStream);        ProgressOutStream pos = new ProgressOutStream(outputStream);        los.write("welcome".getBytes()); //使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。        pos.write("Hello wrold".getBytes());}}

 

 
 
 
 
 
 
 
posted @ 2018-12-28 23:14 阅读(...) 评论(...)

转载地址:http://qvhgn.baihongyu.com/

你可能感兴趣的文章
序列化对象互转--Jackson中的ObjectMapper,解决超类派生问题,序列化问题
查看>>
swagger的API自动生成文档、自动生成其他语言请求文档、所有请求导入postman
查看>>
(转)给大数据分析师的一双大礼:Apache Kylin和Superset
查看>>
spring 嵌套事务
查看>>
Linux 查看CPU信息,机器型号,内存等信息
查看>>
webSocket-Java开发总结
查看>>
ELK原理与介绍(转)
查看>>
Ubuntu中支持yum命令(转)
查看>>
ubuntu navicat安装,破解使用;以及设置系统启动自动执行脚本(转)
查看>>
Ubuntu16.04.1 安装Nginx
查看>>
Terminator:多终端 工具
查看>>
deepin安装mysql/navicat,生成桌面快捷方式
查看>>
国外程序员整理的系统管理员资源大全 (转)
查看>>
Graylog2+rsyslog+log4j 全过程日志管理环境搭建(转)
查看>>
Elasticsearch6.0 使用Sense发送请求Content-Type报错(转)
查看>>
基于Elasticsearch搜索平台设计(转)
查看>>
用Elasticsearch构建电商搜索平台,一个极有代表性的基础技术架构和算法实践案例(转)
查看>>
使用 Binlog 和 Canal 从 MySQL 抽取数据(转)
查看>>
谈谈对Canal( 增量数据订阅与消费 )的理解(转)
查看>>
Canal数据库同步组件(转)
查看>>