java.lang.Object
java.io.Writer
java.io.CharArrayWriter
- すべての実装されたインタフェース:
Closeable
,Flushable
,Appendable
,AutoCloseable
public class CharArrayWriter extends Writer
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())
charシーケンス
csq
に対するtoString
の指定に応じて、シーケンス全体が追加されないこともあります。 たとえば、charバッファのtoString
メソッドを呼び出した場合、そのバッファの位置とリミットによって決まる内容を持つサブシーケンスが返されます。- 定義:
append
、インタフェース:Appendable
- オーバーライド:
append
、クラス:Writer
- パラメータ:
csq
- 追加するcharシーケンス。csq
がnull
の場合は、このライターに「null」
という4文字が追加される。- 戻り値:
- このライター
- 導入されたバージョン:
- 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
に「null」
という4 charが含まれているかのようにcharが追加される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()ストリームをフラッシュします。 -
close
public void close()ストリームを閉じます。 このメソッドの内容は以降も要求されるので、バッファは解放されません。 ノート: このクラスのこのメソッドを呼び出しても、何の効果もありません。
-