模块  java.base
软件包  java.io

Class CharArrayWriter

  • 实现的所有接口
    CloseableFlushableAppendableAutoCloseable

    public class CharArrayWriter
    extends Writer
    该类实现了一个可用作Writer的字符缓冲区。 将数据写入流时,缓冲区会自动增长。 可以使用toCharArray()和toString()来检索数据。

    注意:在此类上调用close()无效,并且可以在流关闭后调用此类的方法而不生成IOException。

    从以下版本开始:
    1.1
    • 字段详细信息

      • buf

        protected char[] buf
        存储数据的缓冲区。
      • count

        protected int count
        缓冲区中的字符数。
    • 构造方法详细信息

      • CharArrayWriter

        public CharArrayWriter()
        创建一个新的CharArrayWriter。
      • CharArrayWriter

        public CharArrayWriter​(int initialSize)
        创建具有指定初始大小的新CharArrayWriter。
        参数
        initialSize - 指定初始缓冲区大小的int。
        异常
        IllegalArgumentException - 如果initialSize为负数
    • 方法详细信息

      • write

        public void write​(int c)
        将字符写入缓冲区。
        重写:
        write ,类 Writer
        参数
        c - 指定要写入的字符的int
      • write

        public void write​(char[] c,
                          int off,
                          int len)
        将字符写入缓冲区。
        Specified by:
        write ,类 Writer
        参数
        c - 要写入的数据
        off - 数据中的起始偏移量
        len - 写入的字符数
        异常
        IndexOutOfBoundsException - 如果 off为负数,或者 len为负数,或者 off + len为负数或大于给定数组的长度
      • write

        public void write​(String str,
                          int off,
                          int len)
        将一部分字符串写入缓冲区。
        重写:
        writeWriter
        参数
        str - 要写入的字符串
        off - 开始读取字符的偏移量
        len - 要写入的字符数
        异常
        IndexOutOfBoundsException - 如果 off为负数,或者 len为负数,或者 off + len为负数或大于给定字符串的长度
      • writeTo

        public void writeTo​(Writer out)
                     throws IOException
        将缓冲区的内容写入另一个字符流。
        参数
        out - 要写入的输出流
        异常
        IOException - 如果发生I / O错误。
      • append

        public CharArrayWriter append​(CharSequence csq)
        将指定的字符序列追加到此writer。

        调用out.append(csq)形式的此方法的行为与调用的方式完全相同

          out.write(csq.toString()) 

        取决于规范toString字符序列csq ,整个序列可以不追加。 例如,调用字符缓冲区的toString方法将返回一个子序列,其内容取决于缓冲区的位置和限制。

        Specified by:
        append接口 Appendable
        重写:
        appendWriter
        参数
        csq - 要追加的字符序列。 如果csqnull ,则四个字符"null"将附加到此"null"器。
        结果
        这位作家
        从以下版本开始:
        1.5
      • append

        public CharArrayWriter append​(CharSequence csq,
                                      int start,
                                      int end)
        将指定字符序列的子序列追加到此writer。

        形式的这种方法的调用out.append(csq, start, end)csq不是null ,行为以完全相同的方式调用

          out.write(csq.subSequence(start, end).toString()) 
        Specified by:
        append接口 Appendable
        重写:
        appendWriter
        参数
        csq - 将附加子序列的字符序列。 如果csqnull ,则将附加字符,就像csq包含四个字符"null"
        start - 子序列中第一个字符的索引
        end - 子序列中最后一个字符后面的字符的索引
        结果
        这位作家
        异常
        IndexOutOfBoundsException - 如果 startend为负数,则 start大于 end ,或者 end大于 csq.length()
        从以下版本开始:
        1.5
      • append

        public CharArrayWriter append​(char c)
        将指定的字符追加到此writer。

        调用out.append(c)形式的此方法的行为与调用的方式完全相同

          out.write(c) 
        Specified by:
        append接口 Appendable
        重写:
        appendWriter
        参数
        c - 要追加的16位字符
        结果
        这位作家
        从以下版本开始:
        1.5
      • reset

        public void reset()
        重置缓冲区,以便您可以再次使用它而不会丢弃已分配的缓冲区。
      • toCharArray

        public char[] toCharArray()
        返回输入数据的副本。
        结果
        从输入数据复制的字符数组。
      • size

        public int size()
        返回缓冲区的当前大小。
        结果
        一个int,表示缓冲区的当前大小。
      • toString

        public String toString()
        将输入数据转换为字符串。
        重写:
        toStringObject
        结果
        字符串。
      • close

        public void close()
        关闭流。 此方法不释放缓冲区,因为可能仍需要其内容。 注意:在此类中调用此方法将不起作用。
        Specified by:
        close ,界面 AutoCloseable
        Specified by:
        close ,界面 Closeable
        Specified by:
        close ,类 Writer