- java.lang.Object
-
- java.io.Writer
-
- すべての実装されたインタフェース:
Closeable
,Flushable
,Appendable
,AutoCloseable
- 直系の既知のサブクラス:
BufferedWriter
,CharArrayWriter
,FilterWriter
,OutputStreamWriter
,PipedWriter
,PrintWriter
,StringWriter
public abstract class Writer extends Object implements Appendable, Closeable, Flushable
文字ストリームに書き込むための抽象クラスです。 サブクラスでの実装が必要なメソッドは、write(char[], int, int)、flush()、およびclose()だけです。 ただし、ほとんどのサブクラスは、効率性の向上または機能の追加、あるいはその両方のために、ここで定義されるメソッドの一部をオーバーライドします。- 導入されたバージョン:
- 1.1
- 関連項目:
BufferedWriter
,CharArrayWriter
,FilterWriter
,OutputStreamWriter
,FileWriter
,PipedWriter
,PrintWriter
,StringWriter
,Reader
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 Writer
append(char c)
指定された文字をこのライターに追加します。Writer
append(CharSequence csq)
指定された文字シーケンスをこのライターに追加します。Writer
append(CharSequence csq, int start, int end)
指定された文字シーケンスのサブシーケンスをこのライターに追加します。abstract void
close()
ストリームを最初にフラッシュして、閉じます。abstract void
flush()
ストリームをフラッシュします。static Writer
nullWriter()
すべての文字を破棄する新規Writer
を返します。void
write(char[] cbuf)
文字の配列を書き込みます。abstract void
write(char[] cbuf, int off, int len)
文字の配列の一部を書き込みます。void
write(int c)
単一の文字を書き込みます。void
write(String str)
文字列を書き込みます。void
write(String str, int off, int len)
文字列の一部を書き込みます。
-
-
-
フィールドの詳細
-
lock
protected Object lock
このストリームに対する処理の同期に使用するオブジェクトです。 効率を良くするため、文字ストリーム・オブジェクトは、ほかのオブジェクトを使ってクリティカル・セクションを保護することができます。 そのため、サブクラスではthis
ではなくこのフィールドのオブジェクトを使用するか、同期化したメソッドを使用するようにしてください。
-
-
コンストラクタの詳細
-
Writer
protected Writer()
ライター自体でクリティカル・セクションが同期する文字ストリーム・ライターを新しく作成します。
-
Writer
protected Writer(Object lock)
指定されたオブジェクトでクリティカル・セクションが同期する文字ストリーム・ライターを新しく作成します。- パラメータ:
lock
- 同期するオブジェクト
-
-
メソッドの詳細
-
nullWriter
public static Writer nullWriter()
すべての文字を破棄する新規Writer
を返します。 返されるストリームは、最初はオープンしています。 ストリームを閉じるには、close()
メソッドを呼び出します。 後からclose()
をコールしても効果はありません。ストリームがオープンしている間、
append(char)
、append(CharSequence)
、append(CharSequence, int, int)
、flush()
、write(int)
、write(char[])
およびwrite(char[], int, int)
の各メソッドでは何も実行されません。 ストリームが閉じられると、これらのメソッドはすべてIOException
をスローします。返された
Writer
に対する操作の同期に使用されるobject
は指定されていません。- 戻り値:
- すべての文字を破棄する
Writer
- 導入されたバージョン:
- 11
-
write
public void write(int c) throws IOException
単一の文字を書き込みます。 書き込まれる文字は、指定された整数値の下位16ビットに格納されます。上位16ビットは無視されます。有効な単一文字の出力をサポートするためのサブクラスでは、このメソッドをオーバーライドします。
- パラメータ:
c
- 書き込まれる文字を指定するint- 例外:
IOException
- 入出力エラーが発生した場合
-
write
public void write(char[] cbuf) throws IOException
文字の配列を書き込みます。- パラメータ:
cbuf
- 書き込まれる文字の配列- 例外:
IOException
- 入出力エラーが発生した場合
-
write
public abstract void write(char[] cbuf, int off, int len) throws IOException
文字の配列の一部を書き込みます。- パラメータ:
cbuf
- 文字の配列off
- 文字の書込み開始オフセットlen
- 書き込む文字数- 例外:
IndexOutOfBoundsException
-off
が負の場合、またはlen
が負の場合、またはoff + len
が負の場合、または指定された配列の長さより大きい場合は、この例外がスローされます。IOException
- 入出力エラーが発生した場合
-
write
public void write(String str) throws IOException
文字列を書き込みます。- パラメータ:
str
- 書き込まれる文字列- 例外:
IOException
- 入出力エラーが発生した場合
-
write
public void write(String str, int off, int len) throws IOException
文字列の一部を書き込みます。- 実装要件:
- このクラスの実装は、指定された条件の
IndexOutOfBoundsException
をスローします。メソッドをオーバーライドすることで別の方法が選択される可能性があります。 - パラメータ:
str
- 文字列off
- 文字の書込み開始オフセットlen
- 書き込む文字数- 例外:
IndexOutOfBoundsException
-off
が負の場合、またはlen
が負の場合、またはoff + len
が負の場合、または指定された文字列の長さより大きい場合は、この例外がスローされます。IOException
- 入出力エラーが発生した場合
-
append
public Writer append(CharSequence csq) throws IOException
指定された文字シーケンスをこのライターに追加します。このメソッドを
out.append(csq)
の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。out.write(csq.toString())
charシーケンス
csq
に対するtoString
の指定に応じて、シーケンス全体が追加されないこともあります。 たとえば、charバッファのtoString
メソッドを呼び出した場合、そのバッファの位置とリミットによって決まる内容を持つサブシーケンスが返されます。- 定義:
append
、インタフェースAppendable
- パラメータ:
csq
- 追加するcharシーケンス。csq
がnull
の場合は、このライターに「null」
という4文字が追加される。- 戻り値:
- このライター
- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 1.5
-
append
public Writer append(CharSequence csq, int start, int end) throws IOException
指定された文字シーケンスのサブシーケンスをこのライターに追加します。Appendable
。csq
がnull
でないときに、このメソッドをout.append(csq, start, end)
の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。out.write(csq.subSequence(start, end).toString())
- 定義:
append
、インタフェースAppendable
- パラメータ:
csq
- サブシーケンスの追加元のcharシーケンス。csq
がnull
の場合は、csq
に「null」
という4 charが含まれているかのようにcharが追加されるstart
- サブシーケンスの最初のcharのインデックスend
- サブシーケンスの最後のcharのあとに続くcharのインデックス- 戻り値:
- このライター
- 例外:
IndexOutOfBoundsException
-start
またはend
が負の値の場合、start
がend
よりも大きい場合、あるいはend
がcsq.length()
よりも大きい場合IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 1.5
-
append
public Writer append(char c) throws IOException
指定された文字をこのライターに追加します。このメソッドを
out.append(c)
の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。out.write(c)
- 定義:
append
、インタフェースAppendable
- パラメータ:
c
- 追加する16ビット文字- 戻り値:
- このライター
- 例外:
IOException
- 入出力エラーが発生した場合- 導入されたバージョン:
- 1.5
-
flush
public abstract void flush() throws IOException
ストリームをフラッシュします。 ストリームが各種のwrite()メソッドにより書き込まれた文字をバッファに保存してある場合は、これらの文字の目的の転送先にただちに文字を書き込みます。 さらに、転送先が別の文字ストリームまたはバイト・ストリームの場合は、この送信先をフラッシュします。 つまり、1つのflush()の呼出しで、関連するWriterおよびOutputStreamのすべてのバッファをフラッシュします。このストリームの目的の転送先が、ベースとなるオペレーティング・システムによって提供される抽象化オブジェクト(ファイルなど)である場合、ストリームをフラッシュすることで、それまでにストリームに書き込まれたバイトがオペレーティング・システムに渡されて書き込まれることは保証されますが、ディスク・ドライブなどの物理デバイスに実際に書き込まれることは保証されません。
- 定義:
flush
、インタフェースFlushable
- 例外:
IOException
- 入出力エラーが発生した場合
-
close
public abstract void close() throws IOException
ストリームを最初にフラッシュして、閉じます。 ストリームが閉じられたあとにwrite()またはflush()を呼び出すと、IOExceptionがスローされます。 すでに閉じられているストリームを閉じても、何の影響もありません。- 定義:
close
、インタフェースAutoCloseable
- 定義:
close
、インタフェースCloseable
- 例外:
IOException
- 入出力エラーが発生した場合
-
-