有关java流的详细介绍网上随处可见,就不再赘述了,本篇博客画出了java字节流的类图。
字节输入流
字节输出流
java io是装饰者模式的典型代表。以输出字节流为例,FilterOutputStream是一个抽象的装饰者,ByteArrayOutputStream、FileOutputStream等是等待被装饰的对象,BufferedOutputStream、DataOutputStream是具体的装饰者。BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File("xx.txt")))是用BufferedOutputStream 装饰FileOutputStream,提供了输出缓存功能,避免了频繁调用底层输出流,提升了效率。