[API] java.io.FileInputStreamクラス

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)パス文字列からインスタンスを生成する
【主要メソッド】
戻値型メソッド静的説明
intavailable()この入力ストリームのメソッドの次の呼出しによって、ブロックせずにこの入力ストリームから読み込むことができる推定バイト数を返す
voidclose()ファイル入力ストリームを閉じる
voidfinalize()ファイル入力ストリームへの参照が存在しなくなったときに、このストリームのcloseメソッドが確実に呼び出されるようにする
FileChannelgetChannel()一意のFileChannelオブジェクトを返す
FileDescriptorgetFD()実際のファイルへの接続を表すFileDescriptorオブジェクトを返す
intread()この入力ストリームからデータのバイトを読み込む
intread(byte[] b)最大b.lengthバイトのデータをこの入力ストリームからバイト配列に読み込む
intread(byte[] b, int off, int len)最大lenバイトのデータを、この入力ストリームからバイト配列に読み込む
longskip(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)

コメント

タイトルとURLをコピーしました