モジュール java.base
パッケージ java.io

クラスCharArrayWriter

  • すべての実装されたインタフェース:
    Closeable, Flushable, Appendable, AutoCloseable

    public class CharArrayWriter
    extends Writer
    Writerとして使用する文字バッファを実装します。 ストリームに文字が書き込まれるに従って、バッファは自動的に大きくなります。 toCharArray()やtoString()を使ってデータを取り出すことができます。

    注: このクラスでclose()を呼び出しても、何も変化はありません。ストリームを閉じたあとにこのクラスのメソッドを呼び出しても、IOExceptionは生成されません。

    導入されたバージョン:
    1.1
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      protected char[] buf
      データが格納されるバッファです。
      protected int count
      バッファの中の文字数です。
      • クラス java.io.Writerで宣言されたフィールド

        lock
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      CharArrayWriter()
      CharArrayWriterを新しく作成します。
      CharArrayWriter​(int initialSize)
      指定された初期サイズでCharArrayWriterを新しく作成します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      CharArrayWriter append​(char c)
      指定された文字をこのライターに追加します。
      CharArrayWriter append​(CharSequence csq)
      指定された文字シーケンスをこのライターに追加します。
      CharArrayWriter append​(CharSequence csq, int start, int end)
      指定された文字シーケンスのサブシーケンスをこのライターに追加します。
      void close()
      ストリームを閉じます。
      void flush()
      ストリームをフラッシュします。
      void reset()
      メモリー割当て済みのバッファを廃棄せずに再使用できるように、バッファをリセットします。
      int size()
      バッファの現在のサイズを返します。
      char[] toCharArray()
      入力データのコピーを返します。
      String toString()
      入力データを文字列に変換します。
      void write​(char[] c, int off, int len)
      バッファに文字を書き込みます。
      void write​(int c)
      バッファに単一の文字を書き込みます。
      void write​(String str, int off, int len)
      文字列の一部をバッファに書き込みます。
      void writeTo​(Writer out)
      バッファの内容を別の文字ストリームに書き込みます。
    • フィールドの詳細

      • 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)
        バッファに文字を書き込みます。
        定義:
        write、クラス: Writer
        パラメータ:
        c - 書き込まれるデータ
        off - データ内の開始オフセット
        len - 書き込む文字数
        例外:
        IndexOutOfBoundsException - offが負の場合、またはlenが負の場合、またはoff + lenが負の場合、または指定された配列の長さより大きい場合
      • write

        public void write​(String str,
                          int off,
                          int len)
        文字列の一部をバッファに書き込みます。
        オーバーライド:
        write、クラス: Writer
        パラメータ:
        str - 書き込まれる文字列
        off - 文字の読込み開始オフセット
        len - 書き込む文字数
        例外:
        IndexOutOfBoundsException - offが負の場合、lenが負の場合、またはoff + lenが負であるか、指定された文字列の長さよりも大きい場合
      • writeTo

        public void writeTo​(Writer out)
                     throws IOException
        バッファの内容を別の文字ストリームに書き込みます。
        パラメータ:
        out - 書込み先の出力ストリーム
        例外:
        IOException - 入出力エラーが発生した場合。
      • append

        public CharArrayWriter append​(CharSequence csq)
        指定された文字シーケンスをこのライターに追加します。

        このメソッドをout.append(csq)の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。

             out.write(csq.toString()) 

        charシーケンスcsqに対するtoStringの指定に応じて、シーケンス全体が追加されないこともあります。 たとえば、charバッファのtoStringメソッドを呼び出した場合、そのバッファの位置とリミットによって決まる内容を持つサブシーケンスが返されます。

        定義:
        append、インタフェース: Appendable
        オーバーライド:
        append、クラス: Writer
        パラメータ:
        csq - 追加するcharシーケンス。 csqnullの場合は、このライターにnullという4文字が追加される。
        戻り値:
        このライター
        導入されたバージョン:
        1.5
      • append

        public CharArrayWriter append​(CharSequence csq,
                                      int start,
                                      int end)
        指定された文字シーケンスのサブシーケンスをこのライターに追加します。

        csqnullでないときに、このメソッドをout.append(csq, start, end)の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。

             out.write(csq.subSequence(start, end).toString()) 

        定義:
        append、インタフェース: Appendable
        オーバーライド:
        append、クラス: Writer
        パラメータ:
        csq - サブシーケンスの追加元のcharシーケンス。 csqnullの場合は、csqnullという4 charが含まれているかのようにcharが追加される
        start - サブシーケンスの最初の文字のインデックス
        end - サブシーケンスの最後の文字のあとに続く文字のインデックス
        戻り値:
        このライター
        例外:
        IndexOutOfBoundsException - startまたはendが負の値の場合、startendよりも大きい場合、あるいはendcsq.length()よりも大きい場合
        導入されたバージョン:
        1.5
      • append

        public CharArrayWriter append​(char c)
        指定された文字をこのライターに追加します。

        このメソッドをout.append(c)の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。

             out.write(c) 

        定義:
        append、インタフェース: Appendable
        オーバーライド:
        append、クラス: Writer
        パラメータ:
        c - 追加する16ビット文字
        戻り値:
        このライター
        導入されたバージョン:
        1.5
      • reset

        public void reset()
        メモリー割当て済みのバッファを廃棄せずに再使用できるように、バッファをリセットします。
      • toCharArray

        public char[] toCharArray()
        入力データのコピーを返します。
        戻り値:
        この入力データからコピーされた文字の配列。
      • size

        public int size()
        バッファの現在のサイズを返します。
        戻り値:
        バッファの現在のサイズを表すint。
      • toString

        public String toString()
        入力データを文字列に変換します。
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        文字列。
      • flush

        public void flush()
        ストリームをフラッシュします。
        定義:
        flush、インタフェース: Flushable
        定義:
        flush、クラス: Writer
      • close

        public void close()
        ストリームを閉じます。 このメソッドの内容は以降も要求されるので、バッファは解放されません。 注: このクラスのこのメソッドを呼び出しても、何の効果もありません。
        定義:
        close、インタフェース: AutoCloseable
        定義:
        close、インタフェース: Closeable
        定義:
        close、クラス: Writer