java--当中的I/0(3)(第34集)

以下内容来自marschen的java4android视频教程

 主要内容
  1.处理流使用实例.
  2. 装饰者模式(Decorator)
  3. 节点流与处理流之间的关系
   
  BufferdReader介绍
    public String raadLine()
            throwsIOException
  Reads a line of text. A line is condsidered to be berminated by any on e of a line 
   

处理流使用实例.

import java.io.*;

class Test{
	public static void main(String args[]){
		FileReader fileReader = null;
		BufferedReader bufferedReader = null;
		try{
			fileReader = new FileReader("E:/marschen/fileop/form.txt");
			bufferedReader = new BufferedReader(fileReader);
			//String line = bufferedReader.readLine();
			//System.out.println(line);
		    String line = null;
			while(true){
				line = bufferedReader.readLine();
				if(line == null){
					break;
				}
				System.out.println(line);
			}
		}
		catch(Exception e){
			System.out.println(e);
		}
		finally{
			try{
				bufferedReader.close();
				fileReader.close();
			}
			catch(Exception e ){
				System.out.println(e);
			}
		}
	}
}



装饰者模式(Decorator) 下面通过5个类来说明 Worker类, Carpenter类,Plumber类, AWorker类,TestWorker类

Worker类, 

 //接口
 interface Worker{ 
	public void doSomeWork();
 }

Carpenter类,

//木匠
class Carpenter implements Worker{
	public void doSomeWork(){
		System.out.println("修门窗");
	}
}


Plumber类, 

//水管工
class Plumber implements Worker{ //实现Worker
	public void doSomeWork(){
		System.out.println("修水管");
	}
}


AWorker类

//水管工
class Plumber implements Worker{ //实现Worker
	public void doSomeWork(){
		System.out.println("修水管");
	}
}

TestWorker类

class TestWorker{
	public static void main(String args[]){
	//生成一个A公司水管工对象
	Plumber plumber = new Plumber();//先生成一个水管工
	AWorker aWorker = new AWorker(plumber); //再生一个A公司员工,并且
	aWorker.doSomeWork();                   //把水管工传入
	
	//生成一个A公司木匠对象
	Carpenter carpenter = new Carpenter();//先生成一个木匠
	AWorker aWorker2 = new AWorker(carpenter);//再生一个A公司员工,并且
	aWorker2.doSomeWork();                       //把木匠传入
	}
}

总结

使用装饰者模式.
不使用继承.

处理流  BufferedReader     相当于工人     是装饰者
节点流  FileReader         相当于水管工   被装饰者.

被装饰者要作为对象传到装饰者里面去.

BufferedReader 可以装饰 读取文件,
                       还可以读取键盘
                       还可以读取网络.
                    
处理流是给节点流添加功能.......

处理流还有很多,比如压缩流,管道流,,,,,,都是在节点流基础上扩展的.在上面添加一些新功能.




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值