クラスFileInputStream
- すべての実装されたインタフェース:
Closeable,AutoCloseable
FileInputStreamは、ファイル・システム内のファイルから入力バイトを取得します。 どのファイルが有効であるかはホスト環境に依存します。
FileInputStreamは、イメージ・データなどのrawバイトのストリームを読み込むときに使用します。 文字のストリームを読み込むときは、FileReaderを使用してください。
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明FileInputStream(File file) Fileオブジェクトfileで表される既存のファイルから読み取るFileInputStreamを作成します。FileInputStream(FileDescriptor fdObj) ファイル・システム内の実際のファイルへの既存の接続を表すファイル記述子fdObjを使用して、FileInputStreamを作成します。FileInputStream(String name) パス名nameで指定した既存のファイルから読み取るFileInputStreamを作成します。 -
メソッドのサマリー
修飾子と型メソッド説明intこの入力ストリームのメソッドの次の呼出しによって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。voidclose()ファイル入力ストリームを閉じ、このストリームに関連するシステム・リソースを解放します。このファイル入力ストリームに関連付けられた一意のFileChannelオブジェクトを返します。final FileDescriptorgetFD()このFileInputStreamで使用されているファイル・システム内の実際のファイルへの接続を表すFileDescriptorオブジェクトを返します。intread()この入力ストリームからデータのバイトを読み込みます。intread(byte[] b) 最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。intread(byte[] b, int off, int len) 最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。byte[]readNBytes(int len) 入力ストリームから指定のバイト数まで読み取ります。longskip(long n) 入力ストリームからnバイトのデータをスキップして破棄します。クラスjava.io.InputStreamで宣言されたメソッド
mark, markSupported, nullInputStream, readAllBytes, readNBytes, reset, skipNBytes, transferTo
-
コンストラクタの詳細
-
FileInputStream
public FileInputStream(String name) throws FileNotFoundException パス名nameで指定した既存のファイルから読み取るFileInputStreamを作成します。 「シンボル・リンク」は、リンクのtargetに自動的にリダイレクトされます。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。指定されたファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合は、
FileNotFoundExceptionがスローされます。- パラメータ:
name- システム依存のファイル名。- スロー:
FileNotFoundException- ファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合。
-
FileInputStream
public FileInputStream(File file) throws FileNotFoundException Fileオブジェクトfileで表される既存のファイルから読み取るFileInputStreamを作成します。 「シンボル・リンク」は、リンクのtargetに自動的にリダイレクトされます。 このファイル接続を表すために、新しいFileDescriptorオブジェクトが作成されます。指定されたファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合は、
FileNotFoundExceptionがスローされます。- パラメータ:
file- 読込みのために開かれるファイル。- スロー:
FileNotFoundException- ファイルが存在しないか、通常ファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合。- 関連項目:
-
FileInputStream
public FileInputStream(FileDescriptor fdObj) ファイル・システム内の実際のファイルへの既存の接続を表すファイル記述子fdObjを使用して、FileInputStreamを作成します。fdObjがnullの場合、NullPointerExceptionがスローされます。fdObjがinvalidの場合、このコンストラクタは例外をスローしません。 ただし、結果となるストリームに対してそのストリームへの入出力を試みるメソッドが呼び出された場合は、IOExceptionがスローされます。- パラメータ:
fdObj- 読込みのために開かれるファイル記述子。
-
-
メソッドの詳細
-
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- 入出力エラーが発生した場合。- 関連項目:
-
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- 入出力エラーが発生した場合。- 関連項目:
-
readNBytes
public byte[] readNBytes(int len) throws IOException 次のクラスからコピーされた説明:InputStream入力ストリームから指定のバイト数まで読み取ります。 このメソッドは、リクエストされたバイト数が読み取られるか、ストリームの終わりが検出されるか、例外がスローされるまでブロックされます。 このメソッドでは入力ストリームは閉じられません。返される配列の長さは、ストリームから読み取られるバイト数と同じです。
lenが0の場合、バイトは読み取られず、空のバイト配列が返されます。 それ以外の場合、ストリームから最大lenバイトまでが読み取られます。 ストリームの終わりが検出されると、lenバイトよりも少ない確率で読み取られる可能性があります。このストリームがストリームの最後に達すると、このメソッドをさらに呼び出すと、空のバイト配列が返されます。
このメソッドは、指定されたバイト数をバイト配列に読み込むと簡単になるような場合に使用します。 このメソッドによって割り当てられるメモリーの合計量は、
lenによってバインドされているストリームから読み取られたバイト数に比例します。 したがって、十分なメモリーが使用できる場合、メソッドは非常に大きな値のlenを使って安全に呼び出される可能性があります。入力ストリームが「非同期クローズ」の場合、または読取り中に中断されたスレッドの動作は、入力ストリーム固有であるため、指定されません。
入力ストリームからの読取り中にI/Oエラーが発生した場合、一部のバイト(すべてではない)が読み取られた後でエラーが発生する可能性があります。 その結果、入力ストリームがストリームの終わりに配置されず、整合性のない状態になる可能性があります。 I/Oエラーが発生した場合は、ストリームをすぐにクローズすることを強くお薦めします。
- オーバーライド:
- クラス
InputStreamのreadNBytes - パラメータ:
len- 読み込む最大バイト数- 戻り値:
- この入力ストリームから読み込まれたバイトを含むバイト配列
- スロー:
IOException- 入出力エラーが発生した場合- 導入されたバージョン:
- 11
-
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によって呼び出されたときにのみ信頼できます。 - 実装要件:
- ストリームにアクセスできなくなった後に、そのリソース・クリーンアップが必要なサブクラスでは、
Cleanerメカニズムを使用する必要があります。このストリームにチャネルが関連付けられている場合、このメソッドはチャネルを閉じ、チャネルがこのストリームを閉じます。 このメソッドをオーバーライドするサブクラスは、再入可能起動を処理できるように準備する必要があります。
- スロー:
IOException- 入出力エラーが発生した場合。
-
getFD
public final FileDescriptor getFD() throws IOExceptionこのFileInputStreamで使用されているファイル・システム内の実際のファイルへの接続を表すFileDescriptorオブジェクトを返します。- 戻り値:
- このストリームに関連するファイル記述子オブジェクト。
- スロー:
IOException- 入出力エラーが発生した場合。- 関連項目:
-
getChannel
public FileChannel getChannel()このファイル入力ストリームに関連付けられた一意のFileChannelオブジェクトを返します。返されるチャネルの初期
positionは、それまでにファイルから読み込まれたバイト数と等しくなります。 このストリームからバイトを読み込むとチャネルの位置が増分されます。 チャネルの位置が明示的に変更された場合、または読み込みよって変更された場合は、このストリームのファイル位置が変更されます。- 戻り値:
- このファイル入力ストリームに関連付けられているファイル・チャネル
- 導入されたバージョン:
- 1.4
-