适配者模式参考:http://blog.csdn.net/dengjili/article/details/79485034
java中的IO流转换主要针对字节流向字符流的转换,字符流有行读写方法
InputStreamReader
对象适配器设计模式
重要说明
- InputStreamReader为适配器模式
- BufferedReader为装饰者模式
具体例子代码
文件tmp
测试文件,1234qaz
dengjili
package headfirst.hd.adapter.eg;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
public class TestInputStreamReader {
public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream(new File("tmp"));
//适配器转换类型
Reader reader = new InputStreamReader(is, "UTF-8");
//装饰者模式增强方法readLine
BufferedReader br = new BufferedReader(reader);
String line = null;
while ( (line = br.readLine()) != null ) {
System.out.println(line);
}
//关闭各种流
}
}
测试结果
测试文件,1234qaz
dengjili
反之,OutputStreamWriter
功能与InputStreamReader想法,这里不再给例子