java.io.FileInputStreamは、バイト単位でファイルからデータを読み取るために使用されるクラスです
java.io.FileInputStreamの特徴
java.io.FileInputStreamは以下の特徴があります。
- ファイル内のデータをバイト単位で読み取る
- ストリームを介して読み取るので効率的に読み取ることができる
java.io.FileInputStreamの継承・実装
継承クラス
・java.lang.Object
・java.io.InputStream
・java.io.FileInputStream
実装インターフェース
・java.io.Closeable
・java.lang.AutoCloseable
導入バージョン
・JDK1.0
java.io.FileInputStreamのAPI
コンストラクタ名 | 説明 |
---|---|
FileInputStream(File file) | Fileオブジェクトからインスタンスを生成する |
FileInputStream(FileDescriptor fdObj) | FileDescriptorオブジェクトからインスタンスを生成する |
FileInputStream(String name) | パス文字列からインスタンスを生成する |
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
int | available() | この入力ストリームのメソッドの次の呼出しによって、ブロックせずにこの入力ストリームから読み込むことができる推定バイト数を返す | |
void | close() | ファイル入力ストリームを閉じる | |
void | finalize() | ファイル入力ストリームへの参照が存在しなくなったときに、このストリームのcloseメソッドが確実に呼び出されるようにする | |
FileChannel | getChannel() | 一意のFileChannelオブジェクトを返す | |
FileDescriptor | getFD() | 実際のファイルへの接続を表す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.FileInputStreamサンプル
- (テキストファイルをバイナリとして読込む例)
-
import java.io.IOException; public class BinaryFileReadSample { public static void main(String args[]) { try { //ファイルを読み込む FileInputStream fis = new FileInputStream("c:\\test.txt"); //読み込んだファイルを1バイトずつ処理する int val; while ((val = fis.read()) != -1) { System.out.print(Integer.toHexString(val)); System.out.print(", "); } //終了処理 fis.close(); } catch (IOException ex) { //例外発生時処理 ex.printStackTrace(); } } }
- (読み込むテキストファイル「test.txt」)
- ABC DEF
- (実行結果)
- C:\>java BinaryFileReadSample 41, 42, 43, d, a, 44, 45, 46, d, a,
(A→0x41、B→0x42、C→0x43、D→0x44、E→0x45、F→0x46、CR→0x0d、LF→0x0a)
コメント