クラスFileOutputStream

java.lang.Object
java.io.OutputStream
java.io.FileOutputStream
すべての実装されたインタフェース:
Closeable, Flushable, AutoCloseable

public class FileOutputStream extends OutputStream
ファイル出力ストリームは、FileまたはFileDescriptorにデータを書き込むための出力ストリームです。 ファイルが使用可能であるかどうか、またはファイルを作成できるかどうかは、ベースとなるプラットフォームによって決まります。 特に一部のプラットフォームでは、一度にFileOutputStream (またはその他のファイル書き込みオブジェクト)を1つだけ書き込むためにファイルを開くことができます。 このような場合、該当のファイルがすでに開かれていると、このクラスのコンストラクタは失敗します。

FileOutputStreamは、イメージ・データなどのrawバイトのストリームを書き込むときに使用します。 文字のストリームを書き込むときは、FileWriterを使用してください。

APIのノート:
close()メソッドをコールして、このストリームで使用されるリソースを、直接またはtry-with-resources文を使用して解放する必要があります。
実装要件:
サブクラスは、サブクラスによって獲得されたリソースのクリーンアップを担当します。 ストリームにアクセスできなくなった後に、そのリソース・クリーンアップが必要なサブクラスでは、Cleanerまたはその他のメカニズムを使用する必要があります。
導入されたバージョン:
1.0
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    指定されたFileオブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。
    ファイル・システムの実際のファイルへの既存の接続を表す、指定されたファイル記述子に書き込むためのファイル出力ストリームを作成します。
    FileOutputStream(File file, boolean append)
    指定されたFileオブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。
    指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。
    FileOutputStream(String name, boolean append)
    指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    ファイル出力ストリームを閉じ、このストリームに関連するすべてのシステム・リソースを解放します。
    このファイル出力ストリームに関連付けられた一意のFileChannelオブジェクトを返します。
    ストリームに関連したファイル記述子を返します。
    void
    write(byte[] b)
    指定されたバイト配列のb.lengthバイトをこのファイル出力ストリームに書き込みます。
    void
    write(byte[] b, int off, int len)
    指定されたバイト配列のオフセット位置offから始まるlenバイトをこのファイル出力ストリームに書き込みます。
    void
    write(int b)
    指定されたバイトをこのファイル出力ストリームに書き込みます。

    クラスで宣言されたメソッド OutputStream

    flush, nullOutputStream
    修飾子と型
    メソッド
    説明
    void
    出力ストリームをフラッシュして、バッファリングされていたすべての出力バイトを強制的に書き込みます。
    すべてのバイトを破棄する新規OutputStreamを返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • FileOutputStream

      public FileOutputStream(String name) throws FileNotFoundException
      指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。 ファイルが存在する場合は切り捨てられ、存在しない場合は新しいファイルが作成されます。 「シンボル・リンク」は、リンクのtargetに自動的にリダイレクトされます。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。

      ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合は、FileNotFoundExceptionがスローされます。

      実装要件:
      このコンストラクタをパラメータnameで呼び出すことは、new FileOutputStream(name, false)を呼び出すことと同じです。
      パラメータ:
      name - システムに依存するファイル名
      スロー:
      FileNotFoundException - ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合
    • FileOutputStream

      public FileOutputStream(String name, boolean append) throws FileNotFoundException
      指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。 ファイルが存在する場合は、2番目の引数がtrueでなければ切り捨てられます。この場合、バイトは先頭ではなくファイルの末尾に書き込まれます。 このファイルが存在しない場合は作成されます。 「シンボル・リンク」は、リンクのtargetに自動的にリダイレクトされます。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。

      ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合は、FileNotFoundExceptionがスローされます。

      パラメータ:
      name - システム依存のファイル名
      append - trueの場合、バイトはファイルの先頭ではなく最後に書き込まれる
      スロー:
      FileNotFoundException - ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合。
      導入されたバージョン:
      1.1
    • FileOutputStream

      public FileOutputStream(File file) throws FileNotFoundException
      指定されたFileオブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。 ファイルが存在する場合は切り捨てられ、存在しない場合は新しいファイルが作成されます。 「シンボル・リンク」は、リンクのtargetに自動的にリダイレクトされます。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。

      ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合は、FileNotFoundExceptionがスローされます。

      パラメータ:
      file - 書込み用に開かれるファイル。
      スロー:
      FileNotFoundException - ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合
      関連項目:
    • FileOutputStream

      public FileOutputStream(File file, boolean append) throws FileNotFoundException
      指定されたFileオブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。 ファイルが存在する場合は、2番目の引数がtrueでなければ切り捨てられます。この場合、バイトは先頭ではなくファイルの末尾に書き込まれます。 このファイルが存在しない場合は作成されます。 「シンボル・リンク」は、リンクのtargetに自動的にリダイレクトされます。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。

      ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合は、FileNotFoundExceptionがスローされます。

      パラメータ:
      file - 書込み用に開かれるファイル。
      append - trueの場合、バイトはファイルの先頭ではなく最後に書き込まれる
      スロー:
      FileNotFoundException - ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合
      導入されたバージョン:
      1.4
      関連項目:
    • FileOutputStream

      public FileOutputStream(FileDescriptor fdObj)
      ファイル・システムの実際のファイルへの既存の接続を表す、指定されたファイル記述子に書き込むためのファイル出力ストリームを作成します。

      fdObjがnullの場合、NullPointerExceptionがスローされます。

      fdObjinvalidの場合、このコンストラクタは例外をスローしません。 ただし、結果となるストリームに対してそのストリームへの入出力を試みるメソッドが呼び出された場合は、IOExceptionがスローされます。

      パラメータ:
      fdObj - 書込みのために開かれるファイル記述子
  • メソッドの詳細

    • write

      public void write(int b) throws IOException
      指定されたバイトをこのファイル出力ストリームに書き込みます。 OutputStreamwriteメソッドを実装します。
      定義:
      write、クラスOutputStream
      パラメータ:
      b - 書き込まれるバイト。
      スロー:
      IOException - 入出力エラーが発生した場合。
    • write

      public void write(byte[] b) throws IOException
      指定されたバイト配列のb.lengthバイトをこのファイル出力ストリームに書き込みます。
      オーバーライド:
      write、クラスOutputStream
      パラメータ:
      b - データ。
      スロー:
      IOException - 入出力エラーが発生した場合。
      関連項目:
    • write

      public void write(byte[] b, int off, int len) throws IOException
      指定されたバイト配列のオフセット位置offから始まるlenバイトをこのファイル出力ストリームに書き込みます。
      オーバーライド:
      write、クラスOutputStream
      パラメータ:
      b - データ。
      off - データの開始オフセット。
      len - 書き込むバイト数。
      スロー:
      IOException - 入出力エラーが発生した場合。
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、あるいはlenb.length - offより大きい場合
    • close

      public void close() throws IOException
      ファイル出力ストリームを閉じ、このストリームに関連するすべてのシステム・リソースを解放します。 以降は、このファイル出力ストリームをバイトの書込みに使用することはできません。

      このストリームにチャネルが関連付けられている場合は、そのチャネルも閉じます。

      定義:
      close、インタフェースAutoCloseable
      定義:
      close、インタフェースCloseable
      オーバーライド:
      close、クラスOutputStream
      APIのノート:
      クリーンアップ・アクションを実行するためのclose()のオーバーライドは、直接呼び出されたとき、またはtry-with-resourcesによって呼び出されたときにのみ信頼できます。
      実装要件:
      ストリームにアクセスできなくなった後に、そのリソース・クリーンアップが必要なサブクラスでは、Cleanerメカニズムを使用する必要があります。

      このストリームにチャネルが関連付けられている場合、このメソッドはチャネルを閉じ、チャネルがこのストリームを閉じます。 このメソッドをオーバーライドするサブクラスは、再入可能起動を処理できるように準備する必要があります。

      スロー:
      IOException - 入出力エラーが発生した場合。
    • getFD

      public final FileDescriptor getFD() throws IOException
      ストリームに関連したファイル記述子を返します。
      戻り値:
      このFileOutputStreamオブジェクトによって使用されているファイル・システムのファイルへの接続を表すFileDescriptorオブジェクト。
      スロー:
      IOException - 入出力エラーが発生した場合。
      関連項目:
    • getChannel

      public FileChannel getChannel()
      このファイル出力ストリームに関連付けられた一意のFileChannelオブジェクトを返します。

      返されるチャネルの初期positionは、それまでにファイルに書き込まれたバイト数と等しくなります。このストリームが追加モードの場合は、ファイルのサイズと等しくなります。 このストリームにバイトを書き込むたびにチャネルの位置が増分されます。 チャネルの位置が明示的に変更された場合、または書き込みよって変更された場合は、このストリームのファイル位置が変更されます。

      戻り値:
      このファイル出力ストリームに関連付けられているファイル・チャネル
      導入されたバージョン:
      1.4