Java IO小小的心得

Java IO小小的心得_第1张图片
转自下面的Java IO总结博文

学习JAVA IO之前必须要先学习装饰模式

 BufferedReader in=new BufferedReader(new   StringReader(BufferedInputFile.read(file)));

上面是Java中创建一个文件对象的语句,Java在IO库的设计中使用了装饰模式,每一个嵌套在内的类都提供了自己的功能。所以如果你不懂装饰模式,理解这些过于困难。
可以参考下面这个链接,简单理解装饰模式

还有这篇对IO总结的很好的博文,可以先看一遍有个大致的理解再去看书Java IO总结

创建对象的要点

Java IO小小的心得_第2张图片
来自上面的设计模式博文

理解了装饰模式,再掌握Java IO 中那些类属于继承类,哪些类属于装饰器类,就知晓如何创建文件对象了。

输入输出字节流

Java IO小小的心得_第3张图片
输入输出字节流

输入字节流

继承类是基本类,装饰类是用来给基本类增加功能的,比如果篮是基本类,水果是装饰类

    Basket basket=new Orange(new Apple(new Basket()));

整个流程可以表示为

  1. 创建一个果篮
  2. 果篮中放入苹果
  3. 在2中放入橘子
    通过一点一点的装饰为果篮添加功能
    继承类有:
  • ByteArrayInputArray
  • StringBufferInputStream
  • FileInputStream

装饰类有:

  • ObjectInputStream
  • FilterInputStream及其子类

输出字节流

继承类有:

  • ByteArrayOutputStream
  • FileOutputStream

装饰类有:

  • ObjectOutputStream
  • FilterOutputStream及其子类

输入输出字符流

Java IO小小的心得_第4张图片
输入输出字符流

输入字符流

继承类:

  • CharReader
  • StringReader

装饰类:

  • BufferedReader
  • FilterReader

InputStreamReader是连接字符流和字节流的桥梁,FileReader用来将FileInputStream转变为Reader。

输出字符流

继承类:

  • CharArrayWriter
  • StringWriter

装饰类:

  • Buffered

OutputStreamWriter是连接OutputStream到Writer的桥梁。


等理解加深一点再来修改

你可能感兴趣的:(Java IO小小的心得)