- 九、(模拟)修饰器设计模式
- 十、BufferedReader 和 BufferedWriter
- 1. BufferedReader
- 2. BufferedWriter
- 3. 文件的拷贝
- 十一、BufferedInputStream 和BufferedOutputStream
- 1. BufferedInputStream介绍
- 2. BufferedOutputStream介绍
- 3. 拷贝(音频文件拷贝)
九、(模拟)修饰器设计模式
Reader01
package project.modifier_design_pattern;
public abstract class Reader01 {
public void readFile_(){};
public void readString_(){};
}
FileReader01
package project.modifier_design_pattern;
public class FileReader01 extends Reader01{
public void readFile_(){
System.out.println("file文件读取操作");
};
}
StringReader01
package project.modifier_design_pattern;
public class StringReader01 extends Reader01{
public void readString_(){
System.out.println("String文件读取操作");
};
}
BufferReader01
package project.modifier_design_pattern;
public class BufferReader01 extends Reader01{
private Reader01 in;
public BufferReader01(Reader01 in) {
this.in = in;
}
public void StringReaderNum(int num){
for (int i = 0; i < num; i++) {
in.readString_();
}
}
public void FileReaderNum(int num){
for (int i = 0; i < num; i++) {
in.readFile_();
}
}
public void readFile_(){
in.readFile_();
};
public void readString_(){
in.readString_();
};
}
Test
package project.modifier_design_pattern;
public class Test {
public static void main(String[] args) {
BufferReader01 bufferReader01 = new BufferReader01(new StringReader01());
bufferReader01.StringReaderNum(5);
BufferReader01 bufferReader02 = new BufferReader01(new FileReader01());
bufferReader02.FileReaderNum(8);
System.out.println();
bufferReader01.readString_();
bufferReader02.readFile_();
}
}
十、BufferedReader 和 BufferedWriter
1. BufferedReader
2. BufferedWriter
BufferedInputStream是字节流,在创建BufferedInputStream时,会创建一个内部缓冲区数组.
2. BufferedOutputStream介绍BufferedOutputStream是字节流,实现缓冲的输出流,可以将多个字节写入底层输出流中,而不必对每次字节写入调用底层系统。
3. 拷贝(音频文件拷贝)使用BufferedInputStream 和 BufferedOutputStream他们,可以完成二进制文件拷贝。那字节流可以操作二进制文件, 也可以操作文本文件吗? 当然可以



