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

クラスWriter

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
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected Object
    このストリームに対する処理の同期に使用するオブジェクトです。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    ライター自体でクリティカル・セクションが同期する文字ストリーム・ライターを新しく作成します。
    protected
    Writer(Object lock)
    指定されたオブジェクトでクリティカル・セクションが同期する文字ストリーム・ライターを新しく作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    append(char c)
    指定された文字をこのライターに追加します。
    指定された文字シーケンスをこのライターに追加します。
    append(CharSequence csq, int start, int end)
    指定された文字シーケンスのサブシーケンスをこのライターに追加します。
    abstract void
    ストリームを最初にフラッシュして、閉じます。
    abstract void
    ストリームをフラッシュします。
    static Writer
    すべての文字を破棄する新規Writerを返します。
    void
    write(char[] cbuf)
    文字の配列を書き込みます。
    abstract void
    write(char[] cbuf, int off, int len)
    文字の配列の一部を書き込みます。
    void
    write(int c)
    単一の文字を書き込みます。
    void
    文字列を書き込みます。
    void
    write(String str, int off, int len)
    文字列の一部を書き込みます。

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

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

    • 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シーケンス。 csqnullの場合は、このライターに「null」という4文字が追加される。
      戻り値:
      このライター
      例外:
      IOException - 入出力エラーが発生した場合
      導入されたバージョン:
      1.5
    • append

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

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

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

      定義:
      append、インタフェース: Appendable
      パラメータ:
      csq - サブシーケンスの追加元のcharシーケンス。 csqnullの場合は、csq「null」という4 charが含まれているかのようにcharが追加される
      start - サブシーケンスの最初のcharのインデックス
      end - サブシーケンスの最後のcharのあとに続くcharのインデックス
      戻り値:
      このライター
      例外:
      IndexOutOfBoundsException - startまたはendが負の値の場合、startendよりも大きい場合、あるいはendcsq.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 - 入出力エラーが発生した場合