Module  java.base
软件包  java.io

Class PushbackReader

    • 构造方法摘要

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

      所有方法  接口方法  具体的方法 
      Modifier and Type 方法 描述
      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
        读一个字符
        重写:
        readFilterReader
        结果
        字符读取,如果已经达到流的结尾,则为-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
        告诉这个流是否准备好被读取。
        重写:
        readyFilterReader
        结果
        如果下一个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()操作,它不是。
        重写:
        markSupportedFilterReader
        结果
        当且仅当此流支持标记操作时才为真。
      • close

        public void close​()
                   throws IOException
        关闭流并释放与之相关联的任何系统资源。 一旦流已关闭,进一步的read(),unread(),ready()或skip()调用将抛出IOException。 关闭以前关闭的流无效。 当读取器上有另一个线程阻塞时,此方法将阻止。
        Specified by:
        close在接口 AutoCloseable
        Specified by:
        close在接口 Closeable
        重写:
        closeFilterReader
        异常
        IOException - 如果发生I / O错误
      • skip

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