Day21 缓冲区 装饰设计模式 字节流

Day21

缓冲区 装饰设计模式 字节流

装饰设计模式

  • 当对一组对象的功能进行增强时,就可以使用该模式进行问题的解决。
  • 和继承都能实现一样的特点,进行功能的扩展增强。
  • 适用于某种技术封装并和其他对象进行封装。
  • 比继承更加灵活。
    特点:
  • 装饰类和被装饰类都必须所属于同一个接口或者父类。

字符流的缓冲区

  • 可以提高读写效率。包含BufferedWriter和BufferedReader。
  • 必须结合流才可以使用,并且对流的功能进行了增强。

write方法

  • BufferedWriter(Writer out);
  • BufferedWriter(Writer out, int size);
  • 关缓冲区的时候会把相应的流也关闭。
  • 必须搭配flush()使用,否则的话不会真的写入文件。

read方法

  • BufferedReader(Reader in);
  • BufferedReader(Reader in, int size);
  • 可以使用readLine(),每次调用读取一行,当到达EOF时返回null。不包含终止符。

LineNumberReader类

  • 可以跟踪行号
  • setLineNumber(int)
  • getLineNumber(int)

字节流

除了操作文字还能操作如图片、音乐等文件。
和字符流方法类似,但是其所用的缓冲区是字节byte数组。

FileOutputStream

  • 没有flush方法
  • write方法只接受byte数据,需要用到getBytes()来转换其他的数据类型。

posted on 2017-04-05 17:37  hazelnut  阅读(176)  评论(0)    收藏  举报

导航