模块  java.base
软件包  java.io

Class CharArrayReader

  • 实现的所有接口
    CloseableAutoCloseableReadable

    public class CharArrayReader
    extends Reader
    该类实现了一个可用作字符输入流的字符缓冲区。
    从以下版本开始:
    1.1
    • 字段汇总

      字段  
      变量和类型 字段 描述
      protected char[] buf
      字符缓冲区。
      protected int count
      此缓冲区结束的索引。
      protected int markedPos
      标记在缓冲区中的位置。
      protected int pos
      当前缓冲区位置。
    • 构造方法摘要

      构造方法  
      构造器 描述
      CharArrayReader​(char[] buf)
      从指定的字符数组创建CharArrayReader。
      CharArrayReader​(char[] buf, int offset, int length)
      从指定的字符数组创建CharArrayReader。
    • 字段详细信息

      • buf

        protected char[] buf
        字符缓冲区。
      • pos

        protected int pos
        当前缓冲区位置。
      • markedPos

        protected int markedPos
        标记在缓冲区中的位置。
      • count

        protected int count
        此缓冲区结束的索引。 此索引处或之外没有有效数据。
    • 构造方法详细信息

      • CharArrayReader

        public CharArrayReader​(char[] buf)
        从指定的字符数组创建CharArrayReader。
        参数
        buf - 输入缓冲区(未复制)
      • CharArrayReader

        public CharArrayReader​(char[] buf,
                               int offset,
                               int length)
        从指定的字符数组创建CharArrayReader。

        由此产生的读者将开始阅读给定的offset 可以从此阅读器读取的char值的总数将为lengthbuf.length-offset ,以较小者为准。

        参数
        buf - 输入缓冲区(未复制)
        offset - 要读取的第一个字符的偏移量
        length - 要读取的字符数
        异常
        IllegalArgumentException - 如果 offset为负数或大于 buf.length ,或者 length为负数,或者这两个值之和为负数。
    • 方法详细信息

      • read

        public int read()
                 throws IOException
        读一个字符。
        重写:
        readReader
        结果
        字符读取,为0到65535( 0x00-0xffff )范围内的整数,如果已到达流末尾, 0x00-0xffff -1
        异常
        IOException - 如果发生I / O错误
      • read

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

        public long skip​(long n)
                  throws IOException
        跳过字符。 返回跳过的字符数。

        n参数可能为负,即使Reader超类的skip方法在这种情况下引发异常。 如果n为负数,则此方法不执行任何操作并返回0

        重写:
        skipReader
        参数
        n - 要跳过的字符数
        结果
        实际跳过的字符数
        异常
        IOException - 如果流已关闭,或发生I / O错误
      • ready

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

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

        public void mark​(int readAheadLimit)
                  throws IOException
        标记流中的当前位置。 对reset()的后续调用将重新定位流到此点。
        重写:
        mark在类 Reader
        参数
        readAheadLimit - 限制仍保留标记时可读取的字符数。 因为流的输入来自字符数组,所以没有实际限制; 因此这个论点被忽略了。
        异常
        IOException - 如果发生I / O错误
      • reset

        public void reset()
                   throws IOException
        将流重置为最新标记,如果从未标记过,则重置为开头。
        重写:
        reset在类 Reader
        异常
        IOException - 如果发生I / O错误
      • close

        public void close()
        关闭流并释放与其关联的所有系统资源。 流关闭后,进一步的read(),ready(),mark(),reset()或skip()调用将抛出IOException。 关闭先前关闭的流无效。 当读取器上有另一个线程阻塞时,此方法将阻塞。
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close在界面 Closeable
        Specified by:
        close在类 Reader