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が負の場合、このメソッドは逆方向へスキップしようとします。バッキング・ファイルが現在位置から逆方向へのスキップをサポートしない場合、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, 2014, Oracle and/or its affiliates. All rights reserved.