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

クラス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)
    指定されたバイトをこのファイル出力ストリームに書き込みます。

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

    flush, nullOutputStream

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • FileOutputStream

      public FileOutputStream(String name) throws FileNotFoundException
      指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。

      まず、セキュリティ・マネージャが存在する場合は、checkWriteメソッドがnameをその引数に指定して呼び出されます。

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

      実装要件:
      このコンストラクタをパラメータnameで呼び出すことは、new FileOutputStream(name, false)を呼び出すことと同じです。
      パラメータ:
      name - システムに依存するファイル名
      例外:
      FileNotFoundException - ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合
      SecurityException - セキュリティ・マネージャが存在し、そのcheckWriteメソッドがファイルへの書込みアクセスを拒否した場合。
      関連項目:
    • FileOutputStream

      public FileOutputStream(String name, boolean append) throws FileNotFoundException
      指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。 2番目の引数がtrueの場合、バイトはファイルの先頭ではなく最後に書き込まれます。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。

      まず、セキュリティ・マネージャが存在する場合は、checkWriteメソッドがnameをその引数に指定して呼び出されます。

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

      パラメータ:
      name - システム依存のファイル名
      append - trueの場合、バイトはファイルの先頭ではなく最後に書き込まれる
      例外:
      FileNotFoundException - ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合。
      SecurityException - セキュリティ・マネージャが存在し、そのcheckWriteメソッドがファイルへの書込みアクセスを拒否した場合。
      導入されたバージョン:
      1.1
      関連項目:
    • FileOutputStream

      public FileOutputStream(File file) throws FileNotFoundException
      指定されたFileオブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。

      まず、セキュリティ・マネージャが存在する場合、checkWriteメソッドが、file引数で表されるパスをその引数に指定して呼び出されます。

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

      パラメータ:
      file - 書込み用に開かれるファイル。
      例外:
      FileNotFoundException - ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合
      SecurityException - セキュリティ・マネージャが存在し、そのcheckWriteメソッドがファイルへの書込みアクセスを拒否した場合。
      関連項目:
    • FileOutputStream

      public FileOutputStream(File file, boolean append) throws FileNotFoundException
      指定されたFileオブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。 2番目の引数がtrueの場合、バイトはファイルの先頭ではなく最後に書き込まれます。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。

      まず、セキュリティ・マネージャが存在する場合、checkWriteメソッドが、file引数で表されるパスをその引数に指定して呼び出されます。

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

      パラメータ:
      file - 書込み用に開かれるファイル。
      append - trueの場合、バイトはファイルの先頭ではなく最後に書き込まれる
      例外:
      FileNotFoundException - ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合
      SecurityException - セキュリティ・マネージャが存在し、そのcheckWriteメソッドがファイルへの書込みアクセスを拒否した場合。
      導入されたバージョン:
      1.4
      関連項目:
    • FileOutputStream

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

      まず、セキュリティ・マネージャが存在する場合、checkWriteメソッドが、ファイル記述子fdObj引数を引数として呼び出されます。

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

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

      パラメータ:
      fdObj - 書込みのために開かれるファイル記述子
      例外:
      SecurityException - セキュリティ・マネージャが存在し、そのcheckWriteメソッドがファイル記述子への書込みアクセスを拒否した場合
      関連項目:
  • メソッドの詳細

    • 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