- java.lang.Object
 - 
- java.io.InputStream
 - 
- java.io.FileInputStream
 
 
 
- 
- すべての実装されたインタフェース:
 Closeable,AutoCloseable
public class FileInputStream extends InputStream
FileInputStreamは、ファイル・システム内のファイルから入力バイトを取得します。 どのファイルが有効であるかはホスト環境に依存します。FileInputStreamは、イメージ・データなどのrawバイトのストリームを読み込むときに使用します。 文字のストリームを読み込むときは、FileReaderを使用してください。- APIの注:
 - このストリームで使用されるリソースを解放するには、
close()を直接またはtry-with-resourcesによって呼び出す必要があります。 サブクラスは、サブクラスによって獲得されたリソースのクリーンアップを担当します。 クリーンアップを実行するためにfinalize()をオーバーライドするサブクラスは、Cleanerなどの代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。 - 実装要件:
 - このFileInputStreamがサブクラス化されていて、
close()メソッドがオーバーライドされている場合、FileInputStreamに到達できないときにclose()メソッドが呼び出されます。 それ以外の場合は、close()で説明されているリソース・クリーン・アップがどのように実行されるかは、実装固有のものです。 - 導入されたバージョン:
 - 1.0
 - 関連項目:
 File、FileDescriptor、FileOutputStream、Files.newInputStream(java.nio.file.Path, java.nio.file.OpenOption...)
 
- 
- 
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 FileInputStream(File file)ファイル・システム内のFileオブジェクトfileで指定される実際のファイルへの接続を開くことにより、FileInputStreamを作成します。FileInputStream(FileDescriptor fdObj)ファイル・システム内の実際のファイルへの既存の接続を表すファイル記述子fdObjを使用して、FileInputStreamを作成します。FileInputStream(String name)ファイル・システム内のパス名nameで指定される実際のファイルへの接続を開くことにより、FileInputStreamを作成します。 
- 
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 intavailable()この入力ストリームのメソッドの次の呼出しによって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。voidclose()ファイル入力ストリームを閉じ、このストリームに関連するシステム・リソースを解放します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。finalizeメソッドは非推奨され、削除されます。FileChannelgetChannel()このファイル入力ストリームに関連付けられている一意のFileChannelオブジェクトを返します。FileDescriptorgetFD()このFileInputStreamで使用されているファイル・システム内の実際のファイルへの接続を表すFileDescriptorオブジェクトを返します。intread()この入力ストリームからデータのバイトを読み込みます。intread(byte[] b)最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。intread(byte[] b, int off, int len)最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。longskip(long n)入力ストリームからnバイトのデータをスキップして破棄します。- 
クラス java.io.InputStreamで宣言されたメソッド
mark, markSupported, readAllBytes, readNBytes, reset, transferTo 
 - 
 
 - 
 
- 
- 
コンストラクタの詳細
- 
FileInputStream
public FileInputStream(String name) throws FileNotFoundException
ファイル・システム内のパス名nameで指定される実際のファイルへの接続を開くことにより、FileInputStreamを作成します。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。まず、セキュリティ・マネージャが存在する場合は、
checkReadメソッドがname引数をその引数に指定して呼び出されます。指定されたファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合は、
FileNotFoundExceptionがスローされます。- パラメータ:
 name- システム依存のファイル名。- 例外:
 FileNotFoundException- ファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合。SecurityException- セキュリティ・マネージャが存在し、そのcheckReadメソッドがファイルへの読取りアクセスを拒否した場合。- 関連項目:
 SecurityManager.checkRead(java.lang.String)
 
- 
FileInputStream
public FileInputStream(File file) throws FileNotFoundException
ファイル・システム内のFileオブジェクトfileで指定される実際のファイルへの接続を開くことにより、FileInputStreamを作成します。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。まず、セキュリティ・マネージャが存在する場合、
checkReadメソッドが、file引数で表されるパスをその引数に指定して呼び出されます。指定されたファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合は、
FileNotFoundExceptionがスローされます。- パラメータ:
 file- 読込みのために開かれるファイル。- 例外:
 FileNotFoundException- ファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合。SecurityException- セキュリティ・マネージャが存在し、そのcheckReadメソッドがファイルへの読取りアクセスを拒否した場合。- 関連項目:
 File.getPath(),SecurityManager.checkRead(java.lang.String)
 
- 
FileInputStream
public FileInputStream(FileDescriptor fdObj)
ファイル・システム内の実際のファイルへの既存の接続を表すファイル記述子fdObjを使用して、FileInputStreamを作成します。セキュリティ・マネージャが存在する場合は、ファイル記述子を読み込んでもよいかどうかを確認するために、ファイル記述子
fdObjを引数としてcheckReadメソッドが呼び出されます。 ファイル記述子への読込みアクセスが拒否されると、SecurityExceptionがスローされます。fdObjがnullの場合、NullPointerExceptionがスローされます。fdObjがinvalidの場合、このコンストラクタは例外をスローしません。 ただし、結果となるストリームに対してそのストリームへの入出力を試みるメソッドが呼び出された場合は、IOExceptionがスローされます。- パラメータ:
 fdObj- 読込みのために開かれるファイル記述子。- 例外:
 SecurityException- セキュリティ・マネージャが存在し、そのcheckReadメソッドがファイル記述子への読取りアクセスを拒否した場合。- 関連項目:
 SecurityManager.checkRead(java.io.FileDescriptor)
 
 - 
 
- 
メソッドの詳細
- 
read
public int read() throws IOExceptionこの入力ストリームからデータのバイトを読み込みます。 入力がまだ利用できない場合、このメソッドはブロックされます。- 定義:
 read、クラス:InputStream- 戻り値:
 - データの次のバイト。ファイルの終わりに達した場合は
-1。 - 例外:
 IOException- 入出力エラーが発生した場合。
 
- 
read
public int read(byte[] b) throws IOException最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。 このメソッドは、入力の一部が利用できるようになるまでブロックします。- オーバーライド:
 read、クラス:InputStream- パラメータ:
 b- データの読込み先のバッファ。- 戻り値:
 - バッファに読み込まれたバイトの合計数。ファイルの終わりに達してデータがない場合は
-1。 - 例外:
 IOException- 入出力エラーが発生した場合。- 関連項目:
 InputStream.read(byte[], int, int)
 
- 
read
public int read(byte[] b, int off, int len) throws IOException最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。lenが0でない場合、このメソッドは入力の一部が利用できるようになるまでブロックされます。それ以外の場合、バイトは読み込まれず、0が返されます。- オーバーライド:
 read、クラス:InputStream- パラメータ:
 b- データの読込み先のバッファ。off- 転送先配列bの開始オフセットlen- 読み込まれる最大バイト数。- 戻り値:
 - バッファに読み込まれたバイトの合計数。ファイルの終わりに達してデータがない場合は
-1。 - 例外:
 NullPointerException-bがnullである場合。IndexOutOfBoundsException-offが負の値の場合、lenが負の値の場合、あるいはlenがb.length - offより大きい場合IOException- 入出力エラーが発生した場合。- 関連項目:
 InputStream.read()
 
- 
skip
public long skip(long n) throws IOException入力ストリームからnバイトのデータをスキップして破棄します。さまざまな理由から、
skipメソッドは指定よりも少ないバイト数しかスキップしないことがあります。0の場合もあります。nが負の場合、このメソッドは逆方向へスキップしようとします。 バッキング・ファイルが現在位置から逆方向へのスキップをサポートしない場合、IOExceptionがスローされます。 スキップされた実際のバイト数が返されます。 前方向へスキップした場合、正の値を返します。 逆方向へスキップした場合、負の値を返します。バッキング・ファイルに残っているバイトより多くのバイトをスキップする場合があります。 この場合、例外は生成されず、スキップされたバイト数には、バッキング・ファイルのEOFを超えたバイト数が含まれる可能性があります。 末尾を超えてスキップしたあとにストリームから読み込もうとすると、ファイルの終わりを示す -1が返されます。
- オーバーライド:
 skip、クラス:InputStream- パラメータ:
 n- スキップされるバイト数。- 戻り値:
 - 実際にスキップされたバイト数。
 - 例外:
 IOException- nが負の場合、ストリームがシークをサポートしていない場合、または入出力エラーが発生した場合。
 
- 
available
public int available() throws IOExceptionこの入力ストリームのメソッドの次の呼出しによって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。 ファイル位置がEOFを超えるときは0を返します。 次の呼出しは、同じスレッドの場合も別のスレッドの場合もあります。 このような多数のバイトを1回で読み込んだりスキップしたりすることでブロックすることはありませんが、読み込むまたはスキップするバイト数が少なくなることがあります。場合によっては、ブロックのない読み込み(またはスキップ)は、単に処理が遅いときにブロックされているように見えることがあります。たとえば、低速のネットワークを介して大容量のファイルを読み込む場合などです。
- オーバーライド:
 available、クラス:InputStream- 戻り値:
 - ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数。
 - 例外:
 IOException-closeの呼出しによって、このファイル入力ストリームが閉じられた場合、または入出力エラーが発生した場合。
 
- 
close
public void close() throws IOExceptionファイル入力ストリームを閉じ、このストリームに関連するシステム・リソースを解放します。このストリームにチャネルが関連付けられている場合は、そのチャネルも閉じます。
- 定義:
 close、インタフェース:AutoCloseable- 定義:
 close、インタフェース:Closeable- オーバーライド:
 close、クラス:InputStream- APIの注:
 - クリーンアップ・アクションを実行するための
close()のオーバーライドは、直接呼び出されたとき、またはtry-with-resourcesによって呼び出されたときにのみ信頼できます。closeを呼び出すファイナライズに依存しないでください。ファイナライズは信頼できず、推奨されなくなりました。 ネイティブ・リソースのクリーンアップが必要な場合は、Cleanerなどの他のメカニズムを使用する必要があります。 - 例外:
 IOException- 入出力エラーが発生した場合。
 
- 
getFD
public final FileDescriptor getFD() throws IOException
このFileInputStreamで使用されているファイル・システム内の実際のファイルへの接続を表す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によって呼び出す必要があります。 - 実装要件:
 - このFileInputStreamがサブクラス化されていて、
close()メソッドがオーバーライドされている場合、FileInputStreamに到達できないときにclose()メソッドが呼び出されます。 それ以外の場合は、close()で説明されているリソース・クリーン・アップがどのように実行されるかは、実装固有のものです。 - 例外:
 IOException- 入出力エラーが発生した場合。- 関連項目:
 close()
 
 - 
 
 -