2014年2月11日火曜日

テキストファイルを読み込む

テキストファイルを読み込むにはFileReaderクラスを使用します。

サンプルコード

import java.io.FileReader;
import java.io.IOException;

public class Test {
    public static void main(String[] args) {
        StringBuilder text = new StringBuilder();
        try {
            // ファイルのパスを指定してFileReaderを作成
            FileReader fr = new FileReader("text.txt");
            
            // テキストを読み込むためのバッファーを作成
            char[] buffer = new char[1024];
            
            int len = 0;
            // FileReader#read()を使ってバッファーにテキストを読み込む
            while ( (len = fr.read(buffer,0,buffer.length)) != -1 ) {
                // バッファーの内容を結果を格納するStringBuilderに追加
                text.append(buffer, 0, len);
            }
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        // 読み込んだ内容を表示
        System.out.println(text);
    }
}

説明

このサンプルコードは"text.txt"というファイルを読み込んでその内容を表示します。
FileReaderコンストラクタやFileReader#read()はIOExceptionをスローするため、try-catchにより例外処理を行っています。
テキストの読み込みはFileReader#read()により行っています。ファイルのサイズが大きい場合、FileReader#read()で一度に内容を読み込むことができないため、FileReaderの読み込むテキストがなくなるまでループして読み込んだ内容をtext(StringBuilder)にappendしています。