Java中IO流的设计模式

IO流中的装饰者设计模式

缓冲流装饰者模式

package com.cloud.day4;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.io.Reader;

/*

装饰者设计模式:增强一个类的功能,而且还可以让这些装饰类互相装饰。

BufferedReader拓展了FileReader的功能。

BuferedWriter 拓展了FileWriter的功能。


需求1编写一个类拓展BufferedReader的功能,增强readLine方法返回的字符串带有行号。

需求2:编写一个类拓展BufferedReader的功能,增强readLine方法返回的字符串带有分号。

需求3编写一个类拓展BufferedReader的功能,增强readLine方法返回的字符串带有双引号。

需求4编写一个类拓展BufferedReader的功能,增强readLine方法返回的字符串带有行号+ 分号。

需求5编写一个类拓展BufferedReader的功能,增强readLine方法返回的字符串带有分号+ 双引号。

需求6编写一个类拓展BufferedReader的功能,增强readLine方法返回的字符串带有双引号+ 行号。

需求7编写一个类拓展BufferedReader的功能,增强readLine方法返回的字符串带有行号+ 分号+双引号。


----| Reader

-----------| BufferedReader

---------------| BufferedLineNum  带行号

---------------| BufferedSemi    带分号

---------------| BufferedQuto   带双引

---------------| 子类..

---------------|

增强一个类的功能时候我们可以选择使用继承:

   通过继承实现增强一个类的功能优点:   代码结构清晰,通俗易懂。

   缺点:使用不灵活,会导致继承的体系过于庞大。

*/

class BufferedLineNum extends BufferedReader{

   int count = 1;

   public BufferedLineNum(Reader in){

      super(in);

   }

   @Override

   public String readLine() throws IOException {

      String line = super.readLine();

     

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值