java.lang.Object
java.io.Writer
java.io.CharArrayWriter
- すべての実装されたインタフェース:
Closeable
,Flushable
,Appendable
,AutoCloseable
public class CharArrayWriter extends Writer
このクラスは、ライターとして使用できる文字バッファを実装します。 ストリームに文字が書き込まれるに従って、バッファは自動的に大きくなります。 toCharArray()やtoString()を使ってデータを取り出すことができます。
ノート: このクラスでclose()を呼び出しても、何も変化はありません。ストリームを閉じたあとにこのクラスのメソッドを呼び出しても、IOExceptionは生成されません。
- 導入されたバージョン:
- 1.1
-
フィールドのサマリー
-
コンストラクタのサマリー
コンストラクタ説明CharArrayWriterを新しく作成します。CharArrayWriter
(int initialSize) 指定された初期サイズでCharArrayWriterを新しく作成します。 -
メソッドのサマリー
修飾子と型メソッド説明append
(char c) 指定された文字をこのライターに追加します。append
(CharSequence csq) 指定された文字シーケンスをこのライターに追加します。append
(CharSequence csq, int start, int end) 指定された文字シーケンスのサブシーケンスをこのライターに追加します。void
close()
ストリームをクローズします。void
flush()
ストリームをフラッシュします。void
reset()
メモリー割当て済みのバッファを廃棄せずに再使用できるように、バッファをリセットします。int
size()
バッファの現在のサイズを返します。char[]
入力データのコピーを返します。toString()
入力データを文字列に変換します。void
write
(char[] c, int off, int len) バッファに文字を書き込みます。void
write
(int c) バッファに単一の文字を書き込みます。void
文字列の一部をバッファに書き込みます。void
バッファの内容を別の文字ストリームに書き込みます。クラス java.io.Writerで宣言されたメソッド
nullWriter, write, write
-
フィールド詳細
-
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
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())
文字シーケンス
csq
のtoString
の指定によっては、シーケンス全体が追加されない場合があります。 たとえば、文字バッファのtoString
メソッドを呼び出すと、内容がバッファの位置と制限によって異なる部分列が返されます。- 定義:
append
、インタフェースAppendable
- オーバーライド:
append
、クラスWriter
- パラメータ:
csq
- 追加するcharシーケンス。csq
がnull
の場合、このライターに4文字の"null"
が追加されます。- 戻り値:
- このライター
- 導入されたバージョン:
- 1.5
-
append
public CharArrayWriter append(CharSequence csq, int start, int end) 指定された文字シーケンスのサブシーケンスをこのライターに追加します。csq
がnull
でない場合、out.append(csq, start, end)
という形式のこのメソッドの呼出しは、起動とまったく同じように動作out.write(csq.subSequence(start, end).toString())
- 定義:
append
、インタフェースAppendable
- オーバーライド:
append
、クラスWriter
- パラメータ:
csq
- サブシーケンスの追加元のcharシーケンス。csq
がnull
の場合、csq
に4文字の"null"
が含まれているかのように、文字が追加されます。start
- サブシーケンスの最初のcharのインデックスend
- サブシーケンスの最後のcharのあとに続くcharのインデックス- 戻り値:
- このライター
- 例外:
IndexOutOfBoundsException
-start
またはend
が負の場合、start
がend
より大きいか、end
がcsq.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()入力データを文字列に変換します。 -
flush
public void flush()ストリームをフラッシュします。CharArrayWriter
のflush
メソッドは何もしません。 -
close
public void close()ストリームをクローズします。 このメソッドの内容は以降も要求されるので、バッファは解放されません。 ノート: このクラスのこのメソッドを呼び出しても、何の効果もありません。
-