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

クラスCharArrayWriter

java.lang.Object
java.io.Writer
java.io.CharArrayWriter
すべての実装されたインタフェース:
Closeable, Flushable, Appendable, AutoCloseable

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

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

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

    フィールド
    修飾子と型
    フィールド
    説明
    protected char[]
    データが格納されるバッファです。
    protected int
    バッファの中の文字数です。

    クラス java.io.Writerで宣言されたフィールド

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

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

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

    クラス java.io.Writerで宣言されたメソッド

    nullWriter, write, write

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • フィールド詳細

    • 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()) 

      文字シーケンスcsqtoStringの指定によっては、シーケンス全体が追加されない場合があります。 たとえば、文字バッファのtoStringメソッドを呼び出すと、内容がバッファの位置と制限によって異なる部分列が返されます。

      定義:
      append、インタフェースAppendable
      オーバーライド:
      append、クラスWriter
      パラメータ:
      csq - 追加するcharシーケンス。 csqnullの場合、このライターに4文字の"null"が追加されます。
      戻り値:
      このライター
      導入されたバージョン:
      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の場合、csqに4文字の"null"が含まれているかのように、文字が追加されます。
      start - サブシーケンスの最初のcharのインデックス
      end - サブシーケンスの最後のcharのあとに続くcharのインデックス
      戻り値:
      このライター
      例外:
      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()
      ストリームをフラッシュします。

      CharArrayWriterflushメソッドは何もしません。

      定義:
      flush、インタフェースFlushable
      定義:
      flush、クラスWriter
    • close

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