- 前言ps装饰器模式
- java の i / o操作属于一种装饰器模式
- 定义一个接口业务类T
- 定义一个基础类继承业务类
- 装饰的基础类构造方法需传一个T类型的参数
- T t=new 装饰类At(t)
- 举例:
- File f = new File(“/usr/local/”);
- PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(new File(“./list.txt”))));
- 实例化一个装饰类的对象
- 输入输出是针对我の当前应用的上下文来定义
- 字节流( InputStream,OutputStream)
- 字符流(Reader,write)
- InputStream,OutputStream,Reader,writer都是抽象类。所以不能直接new
- 输入流(输入 -> 输出)
- 获取数据–使用input
- 发送数据–output
- 基本流接口
- 字节流:InputStream
- 字符流:Reader
- 基本实现流(表来源)
- FileInputSteam / Reader
- ByteArrayInputStream / Reader
- PipedInputStream / Reader
- 装饰器流(表内容)
- BufferInputStream / Reader
- DataInputStream / Reader
- ObjectInputSteam / Reader
- 输出流(输出 <- 输入)
- 基本流接口
- 字节流:OutputStream
- 字符流:Writer
- 基本实现流(小房子)
- FileOutputSteam / Writer
- ByteArrayOutputStream / Writer
- PipedOutputStream / Writer
- 装饰器流(大白壁纸)
- BufferOutputStream / Writer
- DataOutputStream / Writer
- ObjectOutputSteam / Writer
- 字符流
- 不借助其他软件就可以识别(比如识别纯文本)
- 关心内容(借助于字节流)
- 每次存储以可变的若干字节写入存储
- 字符流+输入=reader抽象类
- 字符流+输出=writer抽象类
- 字符流在操作的时候是使用到缓冲区的
- 字节流
- steam?字节流(二进制) 每8个bit写入 存储
- 不关心内容
- 操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的
- 字节流+输入=inputsteam抽象类
- 字节流+输出=Outputsteam抽象类
- 基本流(表示来源)–先构建
- FileOutputSteam
- ByteArrayOutputSteam
- PipeOutputSteam
- 装饰器流(表示目的)
- BufferOutputStream / Writer
- DataOutputStream / Writer
- ObjectOutputSteam / Writer
