- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FileOutputStream
-
- すべての実装されたインタフェース:
Closeable
,Flushable
,AutoCloseable
public class FileOutputStream extends OutputStream
ファイル出力ストリームは、File
またはFileDescriptor
にデータを書き込むための出力ストリームです。 ファイルが使用可能であるかどうか、またはファイルを作成できるかどうかは、ベースとなるプラットフォームによって決まります。 特に、一部のプラットフォームでは、1つのファイルは同時に1つのFileOutputStream
(またはその他のファイル書込みオブジェクト)だけによって書込みのために開くことができます。 このような場合、該当のファイルがすでに開かれていると、このクラスのコンストラクタは失敗します。FileOutputStream
は、イメージ・データなどのrawバイトのストリームを書き込むときに使用します。 文字のストリームを書き込むときは、FileWriter
を使用してください。- APIのノート:
- このストリームで使用されるリソースを解放するには、
close()
を直接またはtry-with-resourcesによって呼び出す必要があります。 サブクラスは、サブクラスによって獲得されたリソースのクリーンアップを担当します。 クリーンアップを実行するためにfinalize()
をオーバーライドするサブクラスは、Cleaner
などの代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalize
メソッドを削除するように変更する必要があります。 - 実装要件:
- このFileOutputStreamがサブクラス化されていて、
close()
メソッドがオーバーライドされている場合、FileInputStreamに到達できないときにclose()
メソッドが呼び出されます。 それ以外の場合は、close()
で説明されているリソース・クリーン・アップがどのように実行されるかは、実装固有のものです。 - 導入されたバージョン:
- 1.0
- 関連項目:
File
、FileDescriptor
、FileInputStream
、Files.newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...)
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 FileOutputStream(File file)
指定されたFile
オブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。FileOutputStream(FileDescriptor fdObj)
ファイル・システムの実際のファイルへの既存の接続を表す、指定されたファイル記述子に書き込むためのファイル出力ストリームを作成します。FileOutputStream(File file, boolean append)
指定されたFile
オブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。FileOutputStream(String name)
指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。FileOutputStream(String name, boolean append)
指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 void
close()
ファイル出力ストリームを閉じ、このストリームに関連するすべてのシステム・リソースを解放します。protected void
finalize()
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。finalize
メソッドは非推奨され、削除されます。FileChannel
getChannel()
このファイル出力ストリームに関連付けられた一意のFileChannel
オブジェクトを返します。FileDescriptor
getFD()
ストリームに関連したファイル記述子を返します。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
-
-
-
-
コンストラクタの詳細
-
FileOutputStream
public FileOutputStream(String name) throws FileNotFoundException
指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。 このファイル接続を表すために、新しいFileDescriptor
オブジェクトが作成されます。まず、セキュリティ・マネージャが存在する場合は、
checkWrite
メソッドがname
をその引数に指定して呼び出されます。ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合は、
FileNotFoundException
がスローされます。- 実装要件:
- このコンストラクタをパラメータ
name
で呼び出すことは、new FileOutputStream(name, false)
を呼び出すことと同じです。 - パラメータ:
name
- システムに依存するファイル名- 例外:
FileNotFoundException
- ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合SecurityException
- セキュリティ・マネージャが存在し、そのcheckWrite
メソッドがファイルへの書込みアクセスを拒否した場合。- 関連項目:
SecurityManager.checkWrite(java.lang.String)
-
FileOutputStream
public FileOutputStream(String name, boolean append) throws FileNotFoundException
指定された名前のファイルに書き込むためのファイル出力ストリームを作成します。 2番目の引数がtrue
の場合、バイトはファイルの先頭ではなく最後に書き込まれます。 このファイル接続を表すために、新しいFileDescriptor
オブジェクトが作成されます。まず、セキュリティ・マネージャが存在する場合は、
checkWrite
メソッドがname
をその引数に指定して呼び出されます。ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合は、
FileNotFoundException
がスローされます。- パラメータ:
name
- システム依存のファイル名append
-true
の場合、バイトはファイルの先頭ではなく最後に書き込まれる- 例外:
FileNotFoundException
- ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合。SecurityException
- セキュリティ・マネージャが存在し、そのcheckWrite
メソッドがファイルへの書込みアクセスを拒否した場合。- 導入されたバージョン:
- 1.1
- 関連項目:
SecurityManager.checkWrite(java.lang.String)
-
FileOutputStream
public FileOutputStream(File file) throws FileNotFoundException
指定されたFile
オブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。 このファイル接続を表すために、新しいFileDescriptor
オブジェクトが作成されます。まず、セキュリティ・マネージャが存在する場合、
checkWrite
メソッドが、file
引数で表されるパスをその引数に指定して呼び出されます。ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合は、
FileNotFoundException
がスローされます。- パラメータ:
file
- 書込み用に開かれるファイル。- 例外:
FileNotFoundException
- ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合SecurityException
- セキュリティ・マネージャが存在し、そのcheckWrite
メソッドがファイルへの書込みアクセスを拒否した場合。- 関連項目:
File.getPath()
、SecurityException
,SecurityManager.checkWrite(java.lang.String)
-
FileOutputStream
public FileOutputStream(File file, boolean append) throws FileNotFoundException
指定されたFile
オブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。 2番目の引数がtrue
の場合、バイトはファイルの先頭ではなく最後に書き込まれます。 このファイル接続を表すために、新しいFileDescriptor
オブジェクトが作成されます。まず、セキュリティ・マネージャが存在する場合、
checkWrite
メソッドが、file
引数で表されるパスをその引数に指定して呼び出されます。ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合は、
FileNotFoundException
がスローされます。- パラメータ:
file
- 書込み用に開かれるファイル。append
-true
の場合、バイトはファイルの先頭ではなく最後に書き込まれる- 例外:
FileNotFoundException
- ファイルが存在するが通常ファイルではなくディレクトリである場合、存在せず作成もできない場合、またはなんらかの理由で開くことができない場合SecurityException
- セキュリティ・マネージャが存在し、そのcheckWrite
メソッドがファイルへの書込みアクセスを拒否した場合。- 導入されたバージョン:
- 1.4
- 関連項目:
File.getPath()
、SecurityException
,SecurityManager.checkWrite(java.lang.String)
-
FileOutputStream
public FileOutputStream(FileDescriptor fdObj)
ファイル・システムの実際のファイルへの既存の接続を表す、指定されたファイル記述子に書き込むためのファイル出力ストリームを作成します。まず、セキュリティ・マネージャが存在する場合、
checkWrite
メソッドが、ファイル記述子fdObj
引数を引数として呼び出されます。fdObj
がnullの場合、NullPointerException
がスローされます。fdObj
がinvalid
の場合、このコンストラクタは例外をスローしません。 ただし、結果となるストリームに対してそのストリームへの入出力を試みるメソッドが呼び出された場合は、IOException
がスローされます。- パラメータ:
fdObj
- 書込みのために開かれるファイル記述子- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのcheckWrite
メソッドがファイル記述子への書込みアクセスを拒否した場合- 関連項目:
SecurityManager.checkWrite(java.io.FileDescriptor)
-
-
メソッドの詳細
-
write
public void write(int b) throws IOException
指定されたバイトをこのファイル出力ストリームに書き込みます。OutputStream
のwrite
メソッドを実装します。- 定義:
write
、クラスOutputStream
- パラメータ:
b
- 書き込まれるバイト。- 例外:
IOException
- 入出力エラーが発生した場合。
-
write
public void write(byte[] b) throws IOException
指定されたバイト配列のb.length
バイトをこのファイル出力ストリームに書き込みます。- オーバーライド:
write
、クラスOutputStream
- パラメータ:
b
- データ。- 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
OutputStream.write(byte[], int, int)
-
write
public void write(byte[] b, int off, int len) throws IOException
指定されたバイト配列のオフセット位置off
から始まるlen
バイトをこのファイル出力ストリームに書き込みます。- オーバーライド:
write
、クラスOutputStream
- パラメータ:
b
- データ。off
- データの開始オフセット。len
- 書き込むバイト数。- 例外:
IOException
- 入出力エラーが発生した場合。
-
close
public void close() throws IOException
ファイル出力ストリームを閉じ、このストリームに関連するすべてのシステム・リソースを解放します。 以降は、このファイル出力ストリームをバイトの書込みに使用することはできません。このストリームにチャネルが関連付けられている場合は、そのチャネルも閉じます。
- 定義:
close
、インタフェースAutoCloseable
- 定義:
close
、インタフェースCloseable
- オーバーライド:
close
、クラスOutputStream
- APIのノート:
- クリーンアップ・アクションを実行するための
close()
のオーバーライドは、直接呼び出されたとき、またはtry-with-resourcesによって呼び出されたときにのみ信頼できます。close
を呼び出すファイナライズに依存しないでください。ファイナライズは信頼できず、推奨されなくなりました。 ネイティブ・リソースのクリーンアップが必要な場合は、Cleanerなどの他のメカニズムを使用する必要があります。 - 例外:
IOException
- 入出力エラーが発生した場合。
-
getFD
public final FileDescriptor getFD() throws IOException
ストリームに関連したファイル記述子を返します。- 戻り値:
- この
FileOutputStream
オブジェクトによって使用されているファイル・システムのファイルへの接続を表すFileDescriptor
オブジェクト。 - 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
FileDescriptor
-
getChannel
public FileChannel getChannel()
このファイル出力ストリームに関連付けられた一意のFileChannel
オブジェクトを返します。返されるチャネルの初期
position
は、それまでにファイルに書き込まれたバイト数と等しくなります。このストリームが追加モードの場合は、ファイルのサイズと等しくなります。 このストリームにバイトを書き込むたびにチャネルの位置が増分されます。 チャネルの位置が明示的に変更された場合、または書き込みよって変更された場合は、このストリームのファイル位置が変更されます。- 戻り値:
- このファイル出力ストリームに関連付けられているファイル・チャネル
- 導入されたバージョン:
- 1.4
-
finalize
@Deprecated(since="9", forRemoval=true) protected void finalize() throws IOException
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。finalize
メソッドは非推奨され、削除されます。 クリーンアップを実行するためにfinalize
をオーバーライドするサブクラスは、代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalize
メソッドを削除するように変更する必要があります。finalize
メソッドをオーバーライドする場合、実装では、super.finalize()
がObject.finalize()
の説明に従って呼び出されることを明示的に確認する必要があります。 移行オプションの詳細については、Object.finalize()
の仕様を参照してください。ファイルへの接続をクリーンアップし、このストリームへの参照がなくなると、このファイル出力ストリームのclose()
メソッドが確実に呼び出されます。finalize()
メソッドはclose()
を直接呼び出しません。- オーバーライド:
finalize
、クラスObject
- APIのノート:
- このストリームで使用されるリソースを解放するには、
close()
を直接またはtry-with-resourcesによって呼び出す必要があります。 - 実装要件:
- このFileOutputStreamがサブクラス化されていて、
close()
メソッドがオーバーライドされている場合、FileOutputStreamに到達できないときにclose()
メソッドが呼び出されます。 それ以外の場合は、close()
で説明されているリソース・クリーン・アップがどのように実行されるかは、実装固有のものです。 - 例外:
IOException
- 入出力エラーが発生した場合。- 関連項目:
FileInputStream.close()
-
-