モジュール 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()) 

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

      定義:
      append、インタフェースAppendable
      パラメータ:
      csq - 追加するcharシーケンス。 csqnullの場合、このライターに4文字の"null"が追加されます。
      戻り値:
      このライター
      例外:
      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に4文字の"null"が含まれているかのように、文字が追加されます。
      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 - 入出力エラーが発生した場合