• 相关软件
    >BufferedReader 创建者:webmaster 更新时间:2005-12-17 04:17


    从字符输入流中读取文本并将字符存入缓冲区以便能提供字符、数组和线段的高效读取。

    可指定缓冲区尺寸或使用缺省尺寸。该缺省尺寸对大多数用途来说是足够的。


    通常, Reader 的每个读请求引起由基本字符或字节流组成的相关的读请求。因此,建议将 BufferedReader 和代价太高的 read() 操作的 Reader 来打包,如
    FileReaders 和 InputStreamReaders 。例如,


    BufferedReader in
      = new BufferedReader(new FileReader("foo.in"));

    缓冲指定文件的输入。若无缓冲,则每个 read() 或 readLine() 调用将字节从文件中读出、转换为字符,然后返回,这种处理方法的效率是非常低的。

    通过用适当的 BufferReader 替换每个 DatainputStream 可以使使用
    DataInputStream 作为文本输入的程序本地化。




    类 java.io.BufferedReader



    java.lang.Object
      |
      +----java.io.Reader
          |
          +----java.io.BufferedReader




    public class BufferedReader
    extends Reader
    下列类的父类:
     
    LineNumberReader



    出现于:
    JDK1.1
     
    参见:
     
    FileReader, InputStreamReader





    构造子索引



    BufferedReader(Reader)
    创建使用缺省尺寸输入缓冲区的缓冲字符输入流。
    BufferedReader(Reader, int)
    创建使用指定尺寸输入缓冲区的缓冲字符输入流。



    方法索引



    close()
    关闭流。
    mark(int)
    标记此流的当前位置。
    markSupported()
    报告此流是否支持 mark() 实现的操作。
    read()
    读取单一字符。
    read(char[], int, int)
    将若干字符读入一个数组中。
    readLine()
    读取一文本行。
    ready()
    报告此流是否读就绪。
    reset()
    将该流复位为最近标记。
    skip(long)
    跳过若干字符。




    构造子




    BufferedReader

    public BufferedReader(Reader in,
                  int sz)


    创建使用指定尺寸输入缓冲区的缓冲字符输入流。



     
    参数:
     
    in - 一个 Reader
     
    sz - 输入缓冲尺寸
    抛出:
    IllegalArgumentException
     
    若 sz <= 0



    BufferedReader

    public BufferedReader(Reader in)


    创建使用缺省尺寸输入缓冲区的缓冲字符输入流。



     
    参数:
     
    in - 一个 Reader





    方法



    read

    public int read() throws IOException


    读取单一字符。



     
    抛出:
    OException
     
    如果发生一 I/O 错误。
     
    覆盖:
     

    Reader 中的   read



    read

    public int read(char cbuf[],
                int off,
              int len) throws IOException


    将若干字符读入一个数组中。

    通常该方法从该流的字符缓冲区中获取字符,必要时用基本流填充。然而,
    若缓冲区为空、标记无效、请求长度至少与缓冲区相同大,则该方法将从基本流中将字符直接读入给定数组。因此冗余的 BufferedReader
    不复制不必要的数据。



     
    参数:
     
    cbuf - 目的缓冲区
    off - 开始存储字符的偏移量。
     
    len - 读取的最大字符数
    返回值:
     
    读取字节数,若已读到流尾则返回 -1 。
    抛出:
    OException
     
    如果发生一 I/O 错误。
     
    覆盖:
     

    Reader 中的
    read



    readLine

    public String readLine() throws IOException


    读取一文本行。换行 ('\n')、回车 ('\r') 或紧跟着换行的回车符表示一行的终止。



     
    返回值:
     
    包含行内容但不包括行终止符的字符串, 若已到达流尾则为 null 。
    抛出:
    OException
     
    如果发生一 I/O 错误。



    skip

    public long skip(long n) throws IOException


    跳过若干字符。



     
    参数:
     
    n - 待跳过的字节数
     
    返回值:
     
    实际跳过的字符数
    抛出:
    OException
     
    如果发生一 I/O 错误。
     
    覆盖:
     

    Reader 中的     skip



    ready

    public boolean ready() throws IOException


    报告此流是否已准备读。若缓冲区不为空,或者基本字符流就绪,就表明缓冲字符流就绪。



     
    抛出:
    OException
     
    如果发生一 I/O 错误。
     
    覆盖:
     

    Reader 中的     ready



    markSupported

    public boolean markSupported()


    报告此流是否支持 mark() 操作和支持哪一个操作。



     
    覆盖:
     

    Reader
    中的
    markSupported



    mark

    public void mark(int readAheadLimit) throws IOException


    标记此流的当前位置。接着调用 reset() 重新将流定位到该点。



     
    参数:
     
    readAheadLimit - 保持标记不便时,读取的字符数的限制。读取这些字符之后,复位流的试图可以失败。限制值大于输入缓冲区将使所分配缓冲区的尺寸不小于限制。因此慎用大值。
     
    抛出:
    IllegalArgumentException
     
    若 readAheadLimit <0
    Throws: OException
     
    如果发生一 I/O 错误。
     
    覆盖:
     

    Reader 中的 mark



    reset

    public void reset() throws IOException


    将该流复位为最近标记。



     
    抛出:
    OException
     
    若该流仍未标记或标记非法
    覆盖:
     

    Reader 中的
    reset



    close

    public void close() throws IOException


    关闭流。



     
    抛出:
    OException
     
    如果发生一 I/O 错误。
     
    覆盖:
     

    Reader 中的 close

    相关文章
    本页查看次数: