模块  java.base
软件包  java.io

Class PushbackReader

    • 构造方法摘要

      构造方法  
      构造器 描述
      PushbackReader​(Reader in)
      创建一个带有单字符回送缓冲区的新推回读取器。
      PushbackReader​(Reader in, int size)
      使用给定大小的回送缓冲区创建一个新的回推读取器。
    • 方法摘要

      所有方法  实例方法 具体的方法 
      变量和类型 方法 描述
      void close()
      关闭流并释放与其关联的所有系统资源。
      void mark​(int readAheadLimit)
      标记流中的当前位置。
      boolean markSupported()
      判断此流是否支持mark()操作,但不支持。
      int read()
      读一个字符。
      int read​(char[] cbuf, int off, int len)
      将字符读入数组的一部分。
      boolean ready()
      判断此流是否可以读取。
      void reset()
      重置流。
      long skip​(long n)
      跳过字符。
      void unread​(char[] cbuf)
      通过将字符数组复制到回送缓冲区的前面来推回字符数组。
      void unread​(char[] cbuf, int off, int len)
      通过将字符数组的一部分复制到回送缓冲区的前面来将其推回。
      void unread​(int c)
      通过将单个字符复制到回送缓冲区的前面来将其推回。
    • 构造方法详细信息

      • PushbackReader

        public PushbackReader​(Reader in,                      int size)
        使用给定大小的回送缓冲区创建一个新的回推读取器。
        参数
        in - 将从中读取字符的阅读器
        size - 回推缓冲区的大小
        异常
        IllegalArgumentException - 如果 size <= 0
      • PushbackReader

        public PushbackReader​(Reader in)
        创建一个带有单字符回送缓冲区的新推回读取器。
        参数
        in - 将从中读取字符的阅读器
    • 方法详细信息

      • read

        public int read()         throws IOException
        读一个字符。
        重写:
        read在类 FilterReader
        结果
        字符读取,如果已到达流的末尾,则返回-1
        异常
        IOException - 如果发生I / O错误
      • read

        public int read​(char[] cbuf,                int off,                int len)         throws IOException
        将字符读入数组的一部分。
        重写:
        readFilterReader
        参数
        cbuf - 目标缓冲区
        off - 开始写入字符的偏移量
        len - 要读取的最大字符数
        结果
        读取的字符数,如果已到达流的末尾,则返回-1
        异常
        IOException - 如果发生I / O错误
        IndexOutOfBoundsException - 如果发生I / O错误
      • unread

        public void unread​(int c)            throws IOException
        通过将单个字符复制到回送缓冲区的前面来将其推回。 返回此方法后,要读取的下一个字符将具有值(char)c
        参数
        c - 表示要推回的字符的int值
        异常
        IOException - 如果回送缓冲区已满,或者发生某些其他I / O错误
      • unread

        public void unread​(char[] cbuf,                   int off,                   int len)            throws IOException
        通过将字符数组的一部分复制到回送缓冲区的前面来将其推回。 返回此方法后,下一个要读取的字符将具有值cbuf[off] ,之后的字符将具有值cbuf[off+1] ,依此类推。
        参数
        cbuf - 字符数组
        off - 要回退的第一个字符的偏移量
        len - 要回退的字符数
        异常
        IOException - 如果回送缓冲区中没有足够的空间,或者发生某些其他I / O错误
      • unread

        public void unread​(char[] cbuf)            throws IOException
        通过将字符数组复制到回送缓冲区的前面来推回字符数组。 返回此方法后,下一个要读取的字符将具有值cbuf[0] ,之后的字符将具有值cbuf[1] ,依此类推。
        参数
        cbuf - 要回退的字符数组
        异常
        IOException - 如果回送缓冲区中没有足够的空间,或者发生某些其他I / O错误
      • ready

        public boolean ready()              throws IOException
        判断此流是否可以读取。
        重写:
        ready在类 FilterReader
        结果
        如果保证下一个read()不阻止输入,则返回true,否则返回false。 请注意,返回false并不能保证下一次读取将被阻止。
        异常
        IOException - 如果发生I / O错误
      • mark

        public void mark​(int readAheadLimit)          throws IOException
        标记流中的当前位置。 markPushbackReader总是抛出异常。
        重写:
        markFilterReader
        参数
        readAheadLimit - 限制仍保留标记时可读取的字符数。 读取这么多字符后,尝试重置流可能会失败。
        异常
        IOException - 始终,因为不支持标记
      • reset

        public void reset()           throws IOException
        重置流。 reset的方法PushbackReader总是抛出异常。
        重写:
        resetFilterReader
        异常
        IOException - 始终,因为不支持重置
      • markSupported

        public boolean markSupported()
        判断此流是否支持mark()操作,但不支持。
        重写:
        markSupported在类 FilterReader
        结果
        当且仅当此流支持标记操作时才返回true。
      • close

        public void close()           throws IOException
        关闭流并释放与其关联的所有系统资源。 关闭流后,进一步的read(),unread(),ready()或skip()调用将抛出IOException。 关闭先前关闭的流无效。 当读取器上有另一个线程阻塞时,此方法将阻塞。
        Specified by:
        close ,界面 AutoCloseable
        Specified by:
        close在界面 Closeable
        Specified by:
        closeReader
        异常
        IOException - 如果发生I / O错误
      • skip

        public long skip​(long n)          throws IOException
        跳过字符。 此方法将阻塞,直到某些字符可用,发生I / O错误或到达流的末尾。
        重写:
        skipFilterReader
        参数
        n - 要跳过的字符数
        结果
        实际跳过的字符数
        异常
        IllegalArgumentException - 如果 n为负数。
        IOException - 如果发生I / O错误