JavaTM 2
Platform
Std. Ed. v1.4.0

java.io
クラス FileInputStream

java.lang.Object
  |
  +--java.io.InputStream
        |
        +--java.io.FileInputStream

public class FileInputStream
extends InputStream

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

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()
          入力ストリームから 1 バイトを読み込みます。
 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 を作成します。

セキュリティマネージャが存在する場合、checkRead メソッドがファイル記述子 fdObj を引数として呼び出されます。これは、ファイル記述子を読み込めるかどうかを確認するためです。ファイル記述子への読み込みアクセスが拒否された場合、SecurityException がスローされます。

fdObj が null の場合は、NullPointerException がスローされます。

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

read

public int read()
         throws IOException
入力ストリームから 1 バイトを読み込みます。このメソッドは、有効な入力がまだない場合はブロックします。

定義:
クラス 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 バイトのデータを読み込みます。このメソッドは、入力が可能になるまでブロックします。

オーバーライド:
クラス InputStream 内の read
パラメータ:
b - データの読み込み先のバッファ
off - データの開始オフセット
len - 読み込まれる最大バイト数
戻り値:
バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は -1
例外:
IOException - 入出力エラーが発生した場合
関連項目:
InputStream.read()

skip

public long skip(long n)
          throws IOException
入力ストリームからのデータを n バイトだけスキップして破棄します。さまざまな理由から、skip メソッドは、指定されたよりも少ないバイト数 (0 の場合もある) しかスキップしないことがあります。実際にスキップしたバイト数を返します。

オーバーライド:
クラス InputStream 内の skip
パラメータ:
n - スキップするバイト数
戻り値:
実際にスキップされたバイト数
例外:
IOException - 入出力エラーが発生した場合

available

public int available()
              throws IOException
ブロックせずにファイル入力ストリームから読み込むことができるバイト数を返します。

オーバーライド:
クラス InputStream 内の available
戻り値:
ブロックせずに入力ファイルから読み込むことができるバイト数
例外:
IOException - 入出力エラーが発生した場合

close

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

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

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

getFD

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

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

getChannel

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

返されたチャネルの position の初期値は、それまでにファイルから読み込まれたバイト数に設定されます。このストリームからバイトを読み込むたびに、チャネルの位置が増分されます。チャネルの位置を明示的に変更した場合またはバイトの読み込みによって変更された場合は、このストリームのファイル位置も変更されます。

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

finalize

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

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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.