JavaTM Platform
Standard Ed. 6

java.io
クラス FileInputStream

java.lang.Object
  上位を拡張 java.io.InputStream
      上位を拡張 java.io.FileInputStream
すべての実装されたインタフェース:
Closeable

public class FileInputStream
extends InputStream

FileInputStream は、ファイルシステムから入力バイトを取得します。どのファイルが有効であるかはホスト環境に依存します。

FileInputStream は、イメージデータなどの生のバイトのストリームを読み込むときに使用します。文字のストリームを読み込むときは、FileReader を使用してください。

導入されたバージョン:
JDK1.0
関連項目:
File, FileDescriptor, FileOutputStream

コンストラクタの概要
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 バイト分をスキップおよび破棄します。
 
クラス java.io.InputStream から継承されたメソッド
mark, markSupported, reset
 
クラス java.lang.Object から継承されたメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

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 - 読み込みのために開かれるファイル記述子
例外:
SecurityException - セキュリティーマネージャーが存在し、checkRead メソッドがファイル記述子への読み込みアクセスを拒否する場合
関連項目:
SecurityManager.checkRead(java.io.FileDescriptor)
メソッドの詳細

read

public int read()
         throws IOException
この入力ストリームからデータのバイトを読み込みます。入力がまだ利用できない場合、このメソッドはブロックされます。

定義:
クラス InputStream 内の read
戻り値:
データの次のバイト。ファイルの終わりに達した場合は -1
例外:
IOException - 入出力エラーが発生した場合

read

public int read(byte[] b)
         throws IOException
最大 b.length バイトまでのデータを、この入力ストリームからバイト配列に読み込みます。このメソッドは、入力の一部が利用できるようになるまでブロックします。

オーバーライド:
クラス InputStream 内の read
パラメータ:
b - データの読み込み先のバッファー
戻り値:
バッファーに読み込まれたバイトの合計数。または、ファイルの終わりに達したためにそれ以上データが存在しない場合は -1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
InputStream.read(byte[], int, int)

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
最大 len バイトまでのデータを、この入力ストリームからバイト配列に読み込みます。len が 0 でない場合、このメソッドは入力の一部が利用できるようになるまでブロックします。そうでない場合、バイトは読み込まれず、0 が返されます。

オーバーライド:
クラス InputStream 内の read
パラメータ:
b - データの読み込み先のバッファー
off - 転送先の配列 b 内での開始オフセット
len - 読み込まれる最大バイト数
戻り値:
バッファーに読み込まれたバイトの合計数。または、ファイルの終わりに達したためにそれ以上データが存在しない場合は -1
例外:
NullPointerException - bnull の場合
IndexOutOfBoundsException - off が負の場合、len が負の場合、または lenb.length - off よりも大きい場合
IOException - 入出力エラーが発生した場合
関連項目:
InputStream.read()

skip

public long skip(long n)
          throws IOException
入力ストリームから n バイト分をスキップおよび破棄します。

さまざまな理由から、skip メソッドは指定よりも少ないバイト数しかスキップしないことがあります。0 の場合もあります。n が負の場合は、InputStream スーパークラスの skip メソッドは何も実行しませんが、IOException がスローされます。スキップされた実際のバイト数が返されます。

このメソッドによってスキップされるバイト数が、バッキングファイル内の残りのバイト数より多い場合があります。この場合、例外は生成されず、スキップされたバイト数には、バッキングファイルの EOF を超えたバイト数が含まれる可能性があります。末尾を超えてスキップしたあとにストリームから読み込もうとすると、ファイルの終わりを示す -1 が返されます。

オーバーライド:
クラス InputStream 内の skip
パラメータ:
n - スキップするバイト数
戻り値:
スキップされた実際のバイト数
例外:
IOException - n が負の場合、ストリームがシークをサポートしていない場合、または入出力エラーが発生した場合

available

public int available()
              throws IOException
この入力ストリームのメソッドの次の呼び出しによって、ブロックせずにこの入力ストリームから読み込むことができる (またはスキップできる) 推定バイト数を返します。次の呼び出しは、同じスレッドの場合も別のスレッドの場合もあります。このような多数のバイトを 1 回で読み込んだりスキップしたりすることでブロックすることはありませんが、読み込むまたはスキップするバイト数が少なくなることがあります。

場合によっては、ブロックのない読み込み (またはスキップ) は、単に処理が遅いときにブロックされているように見えることがあります。たとえば、低速のネットワークを介して大容量のファイルを読み込む場合などです。

オーバーライド:
クラス InputStream 内の available
戻り値:
ブロックせずにこの入力ストリームから読み込むことができる (またはスキップできる) 推定バイト数
例外:
IOException - close の呼び出しによって、このファイル入力ストリームが閉じられた場合、または入出力エラーが発生した場合

close

public void close()
           throws IOException
ファイル入力ストリームを閉じ、このストリームに関連するシステムリソースを解放します。

このストリームにチャネルが関連付けられている場合は、そのチャネルも閉じます。

定義:
インタフェース Closeable 内の close
オーバーライド:
クラス InputStream 内の close
例外:
IOException - 入出力エラーが発生した場合

getFD

public final FileDescriptor getFD()
                           throws IOException
この FileInputStream に使用されているファイルシステムの実際のファイルへの接続を表す FileDescriptor オブジェクトを返します。

戻り値:
このストリームに関連するファイル記述子オブジェクト
例外:
IOException - 入出力エラーが発生した場合
関連項目:
FileDescriptor

getChannel

public FileChannel getChannel()
このファイル入力ストリームに関連付けられた、一意の FileChannel オブジェクトを返します。

返されたチャネルの java.nio.channels.FileChannel#position()position の初期値は、それまでにファイルから読み込まれたバイト数と等しくなります。このストリームからバイトを読み込むとチャネルの位置が増分されます。チャネルの位置が明示的に変更された場合、または読み込みよって変更された場合は、このストリームのファイル位置が変更されます。

戻り値:
このファイル入力ストリームに関連付けられたファイルチャネル
導入されたバージョン:
1.4

finalize

protected void finalize()
                 throws IOException
ファイル入力ストリームへの参照が存在しなくなったときに、このストリームの close メソッドが確実に呼び出されるようにします。

オーバーライド:
クラス Object 内の finalize
例外:
IOException - 入出力エラーが発生した場合
関連項目:
close()

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。