工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java FileInputStream完全ガイド:実践的なコード例付き

Java FileInputStreamクラス

JavaのFileInputStreamを解説し、コアメソッド、実用的な使い方、実例を紹介します。

FileInputStreamクラスはjava.ioパッケージの一部で、ファイルから生のバイトデータを読み取ることを可能にします。抽象InputStreamクラスを拡張し、ファイルI/Oの具象実装を提供します。

FileInputStreamの作成

クラスをインポートし、ファイルパスまたはFileオブジェクトでインスタンス化します。

1. ファイルパスを使用

FileInputStream input = new FileInputStream("path/to/file.txt");

指定パスのファイルに紐づいたストリームを開きます。

2. Fileオブジェクトを使用

File file = new File("file.txt");
FileInputStream input = new FileInputStream(file);

FileInputStreamの主要メソッド

このクラスはInputStreamからの抽象メソッドをすべて実装し、独自のメソッドもいくつか追加しています。最も頻繁に使用されるものを以下に示します。

read()

例:テキストファイルをバイト単位で読み取り

import java.io.FileInputStream;

public class Main {
    public static void main(String[] args) {
        try (FileInputStream input = new FileInputStream("input.txt")) {
            System.out.println("ファイル内のデータ:");
            int byteRead;
            while ((byteRead = input.read()) != -1) {
                System.out.print((char) byteRead);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

出力

ファイル内のデータ: This is a line of text inside the file.

available()

ブロックせずに読み取れるバイト数を返します。

try (FileInputStream input = new FileInputStream("input.txt")) {
    System.out.println("開始時の利用可能バイト数: " + input.available());
    input.read();
    input.read();
    input.read();
    System.out.println("3回読み取り後の利用可能バイト数: " + input.available());
}

出力

開始時の利用可能バイト数: 39
3回読み取り後の利用可能バイト数: 36

skip()

指定バイト数だけストリームを進め、それらを破棄します。

try (FileInputStream input = new FileInputStream("input.txt")) {
    input.skip(5); // "This "をスキップ
    int byteRead;
    while ((byteRead = input.read()) != -1) {
        System.out.print((char) byteRead);
    }
}

出力

is a line of text inside the file.

close()

ストリームを閉じ、システムリソースを解放。try-with-resourcesブロック(上記例参照)を使用するとclose()が自動的に呼ばれます。

FileInputStreamのその他のメソッド

メソッド説明
finalize()ガベージコレクション前にclose()が呼び出されることを保証
getChannel()ストリームに関連付けられたFileChannelを返す
getFD()基盤となるファイルディスクリプタを提供
mark(int readlimit)現在位置をマークして後でリセット可能にする
reset()ストリームを最後にマークした位置にリセット

詳細については公式Javaドキュメントを参照:Java FileInputStream (公式Javaドキュメント)

Java

  1. Javaのfinalキーワード完全解説:変数、メソッド、クラスでの活用法
  2. Java instanceof演算子完全ガイド:基本から継承・インターフェースまで
  3. Java Staticネストクラスの理解:用法、違い、実例
  4. Java無名インナークラス完全ガイド:定義、構文、実践例
  5. Javaシングルトンパターン完全解説:安全な実装と活用法
  6. Javaリフレクション完全ガイド:実行時のクラス・メソッド・フィールド検査
  7. Java ObjectOutputStream完全ガイド:シリアル化、メソッド、実践例
  8. Java BufferedReader完全ガイド:効率的な文字ストリーム処理
  9. Java Scanner完全ガイド:実践例で学ぶ入力処理
  10. Javaジェネリクス完全ガイド:再利用可能で型安全なコードの構築
  11. Javaファイル操作のマスター:java.ioによる作成・読み取り・書き込み・削除