过滤流

来源:互联网 发布:淘宝兼职模特可信吗 编辑:程序博客网 时间:2024/05/02 01:02

4.6 过滤流

  过滤流在读/写数据的同时可以对数据进行处理,它提供了同步机制,使得某一时刻只有一个线程可以访问一个I/O流,以防止多个线程同时对一个I/O流进行操作所带来的意想不到的结果。类FilterInputStream和FilterOutputStream分别作为所有过滤输入流和输出流的父类

  过滤流类层次:

          java.lang.Object
                |
                +----java.io.InputStream
                          |
                          +----java.io.FilterInputStream



  为了使用一个过滤流,必须首先把过滤流连接到某个输入/出流上,通常通过在构造方法的参数中指定所要连接的输入/出流来实现。例如:

  FilterInputStream( InputStream in );
  FilterOutputStream( OutputStream out );

4.6.1 几种常见的过滤流

  ◇ BufferedInputStream和BufferedOutputStream
    缓冲流,用于提高输入/输出处理的效率。

  ◇ DataInputStream 和 DataOutputStream
    不仅能读/写数据流,而且能读/写各种的java语言的基本类型,如:boolean,int,float等。

  ◇ LineNumberInputStream
    除了提供对输入处理的支持外,LineNumberInputStream可以记录当前的行号。

  ◇ PushbackInputStream
    提供了一个方法可以把刚读过的字节退回到输入流中,以便重新再读一遍。

  ◇ PrintStream
    打印流的作用是把Java语言的内构类型以其字符表示形式送到相应的输出流。