处理流:
是对一个已存在的流进行处理和封装,通过所封装的流的功能调用实现对数据的操作。如Buffered缓冲流。处理流的构造方法总是要带一个其他的流对象做参数,通俗的说就是包在别的流外面的流,类似于包在管道外面的管道。
作用:增强功能、提供性能,基于节点流进行操作。


处理流的实现思想:
/*
简单模拟处理流的操作过程。
*/
public class helloworld {
public static void main(String[] args) {
_Closeable is = new _InputStream();//具体组件
_Closeable bis = new _BufferedInputStream(is);//处理流对组件进行处理
System.out.println(is.data()+"大小——>"+is.size());
System.out.println(bis.data()+"大小——>"+bis.size());
}
}
//抽象组件——类比Closeable。
interface _Closeable{
String data();
int size();
}
//具体组件——类比InputStream、OutputStream。
class _InputStream implements _Closeable{
@Override
public String data() {
String datas = "处理前的数据";
return datas;
}
@Override
public int size() {
return 18;
}
}
//抽象装饰类——类比FilterInputStream、FilterOutputStream(流的内部类)。
abstract class 进行处理 implements _Closeable{
private _Closeable _close;
public 进行处理(_Closeable _close) {
this._close = _close;
}
public void 进行处理() {
//基于目的对组件进行各种处理。
}
@Override
public String data() {
return this._close.data();
}
@Override
public int size() {
return this._close.size();
}
}
//具体装饰类——类比BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter。
class _BufferedInputStream extends 进行处理{
public _BufferedInputStream(_Closeable is) {
super(is);
}
public int size() {
return (super.size()+15);
}
public String data() {
return super.data()+"经过处理后";
}
}
版权声明:本文为qq_57389269原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。