public class FileInputStream extends InputStream
FileInputStream は、ファイルシステム内のファイルから入力バイトを取得します。どのファイルが有効であるかはホスト環境に依存します。
FileInputStream は、イメージデータなどの raw バイトのストリームを読み込むときに使用します。文字のストリームを読み込むときは、FileReader を使用してください。
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 を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
int |
available()
この入力ストリームのメソッドの次の呼び出しによって、ブロックせずにこの入力ストリームから読み込むことができる (またはスキップできる) 推定バイト数を返します。
|
void |
close()
ファイル入力ストリームを閉じ、このストリームに関連するシステムリソースを解放します。
|
protected void |
finalize()
ファイル入力ストリームへの参照が存在しなくなったときに、このストリームの
close メソッドが確実に呼び出されるようにします。 |
FileChannel |
getChannel()
このファイル入力ストリームに関連付けられている一意の
FileChannel オブジェクトを返します。 |
FileDescriptor |
getFD()
この
FileInputStream で使用されているファイルシステム内の実際のファイルへの接続を表す FileDescriptor オブジェクトを返します。 |
int |
read()
この入力ストリームからデータのバイトを読み込みます。
|
int |
read(byte[] b)
最大
b.length バイトのデータを、この入力ストリームからバイト配列に読み込みます。 |
int |
read(byte[] b, int off, int len)
最大
len バイトのデータを、この入力ストリームからバイト配列に読み込みます。 |
long |
skip(long n)
入力ストリームから
n バイトのデータをスキップして破棄します。 |
mark, markSupported, resetpublic FileInputStream(String name) throws FileNotFoundException
name で指定される実際のファイルへの接続を開くことにより、FileInputStream を作成します。このファイル接続を表すために、新しい FileDescriptor オブジェクトが作成されます。
まず、セキュリティーマネージャーが存在する場合は、checkRead メソッドが name 引数をその引数に指定して呼び出されます。
指定されたファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合は、FileNotFoundException がスローされます。
name - システム依存のファイル名。FileNotFoundException - ファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合。SecurityException - セキュリティーマネージャーが存在し、その checkRead メソッドがファイルへの読み取りアクセスを拒否した場合。SecurityManager.checkRead(java.lang.String)public FileInputStream(File file) throws FileNotFoundException
File オブジェクト file で指定される実際のファイルへの接続を開くことにより、FileInputStream を作成します。このファイル接続を表すために、新しい FileDescriptor オブジェクトが作成されます。
まず、セキュリティーマネージャーが存在する場合、checkRead メソッドが、file 引数で表されるパスをその引数に指定して呼び出されます。
指定されたファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合は、FileNotFoundException がスローされます。
file - 読み込みのために開かれるファイル。FileNotFoundException - ファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合。SecurityException - セキュリティーマネージャーが存在し、その checkRead メソッドがファイルへの読み取りアクセスを拒否した場合。File.getPath(), SecurityManager.checkRead(java.lang.String)public FileInputStream(FileDescriptor fdObj)
fdObj を使用して、FileInputStream を作成します。
セキュリティーマネージャーが存在する場合は、ファイル記述子を読み込んでもよいかどうかを確認するために、ファイル記述子 fdObj を引数として checkRead メソッドが呼び出されます。ファイル記述子への読み込みアクセスが拒否されると、SecurityException がスローされます。
fdObj が null の場合、NullPointerException がスローされます。
fdObj が invalid の場合、このコンストラクタは例外をスローしません。ただし、結果となるストリームに対してそのストリームへの入出力を試みるメソッドが呼び出された場合は、IOException がスローされます。
fdObj - 読み込みのために開かれるファイル記述子。SecurityException - セキュリティーマネージャーが存在し、その checkRead メソッドがファイル記述子への読み取りアクセスを拒否した場合。SecurityManager.checkRead(java.io.FileDescriptor)public int read()
throws IOException
read、クラス: InputStream-1。IOException - 入出力エラーが発生した場合。public int read(byte[] b)
throws IOException
b.length バイトのデータを、この入力ストリームからバイト配列に読み込みます。このメソッドは、入力の一部が利用できるようになるまでブロックします。read、クラス: InputStreamb - データの読み込み先のバッファー。-1。IOException - 入出力エラーが発生した場合。InputStream.read(byte[], int, int)public int read(byte[] b,
int off,
int len)
throws IOException
len バイトのデータを、この入力ストリームからバイト配列に読み込みます。len が 0 でない場合、このメソッドは入力の一部が利用できるようになるまでブロックされます。それ以外の場合、バイトは読み込まれず、0 が返されます。read、クラス: InputStreamb - データの読み込み先のバッファー。off - 転送先配列 b の開始オフセットlen - 読み込まれる最大バイト数。-1。NullPointerException - b が null である場合。IndexOutOfBoundsException - off が負の値の場合、len が負の値の場合、あるいは len が b.length - off より大きい場合IOException - 入出力エラーが発生した場合。InputStream.read()public long skip(long n)
throws IOException
n バイトのデータをスキップして破棄します。
さまざまな理由から、skip メソッドは指定よりも少ないバイト数しかスキップしないことがあります。0 の場合もあります。n が負の場合、InputStream スーパークラスの skip メソッドはこの場合何も行ないませんが、IOException がスローされます。スキップされた実際のバイト数が返されます。
このメソッドによってスキップされるバイト数が、バッキングファイル内の残りのバイト数より多い場合があります。この場合、例外は生成されず、スキップされたバイト数には、バッキングファイルの EOF を超えたバイト数が含まれる可能性があります。末尾を超えてスキップしたあとにストリームから読み込もうとすると、ファイルの終わりを示す -1 が返されます。
skip、クラス: InputStreamn - スキップされるバイト数。IOException - n が負の場合、ストリームがシークをサポートしていない場合、または入出力エラーが発生した場合。public int available()
throws IOException
場合によっては、ブロックのない読み込み (またはスキップ) は、単に処理が遅いときにブロックされているように見えることがあります。たとえば、低速のネットワークを介して大容量のファイルを読み込む場合などです。
available、クラス: InputStreamIOException - close の呼び出しによって、このファイル入力ストリームが閉じられた場合、または入出力エラーが発生した場合。public void close()
throws IOException
このストリームにチャネルが関連付けられている場合は、そのチャネルも閉じます。
close、インタフェース: Closeableclose、インタフェース: AutoCloseableclose、クラス: InputStreamIOException - 入出力エラーが発生した場合。public final FileDescriptor getFD() throws IOException
FileInputStream で使用されているファイルシステム内の実際のファイルへの接続を表す FileDescriptor オブジェクトを返します。IOException - 入出力エラーが発生した場合。FileDescriptorpublic FileChannel getChannel()
FileChannel オブジェクトを返します。
返されたチャネルの position の初期値は、それまでにファイルから読み込まれたバイト数と等しくなります。このストリームからバイトを読み込むとチャネルの位置が増分されます。チャネルの位置が明示的に変更された場合、または読み込みよって変更された場合は、このストリームのファイル位置が変更されます。
protected void finalize()
throws IOException
close メソッドが確実に呼び出されるようにします。finalize、クラス: ObjectIOException - 入出力エラーが発生した場合。close() バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.