このエントリーをはてなブックマークに追加


テキストファイルの読み込みサンプル

Javaによるテキストファイルのリードサンプルソースを以下に記します。
Java7から使用できるようになった try-with-resources を使用したサンプルソースも記しています。

関連記事

1行ずつの読み込み

以下のサンプルソースでは、1行ずつ読み込みSystem.out.printlnで標準出力に出力します。

BufferedReader, FileReaderを使用した例

以下のサンプルソースは、BufferedReader, FileReaderを使用した例になります。
念のため、すべてのReaderをclose()しています。

fileReadTextFileFRBR.java LF

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;

class ReadTextFileFRBR {
    public static void main(String[] args) {
        String readFile = "text.txt";
        BufferedReader br = null;
        try {
            FileReader fr = new FileReader(readFile);
            br = new BufferedReader(fr);
            String l = br.readLine();
            while (l != null) {
                System.out.println(l);
                l = br.readLine();
            }
            fr.close();
            br.close();
        } catch (FileNotFoundException e) {
            System.err.println(readFile + " not found.");
        } catch (IOException e) {
            System.err.println("I/O error.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

BufferedReader, InputStreamReader, FileInputStreamを使用した例

以下のサンプルソースは、BufferedReader, InputStreamReader, FileInputStreamを使用した例になります。
念のため、すべてのReader, Streamをclose()しています。
本サンプルソースでは、テキストファイルの文字コード(UTF-8)を指定しているところが上記のサンプルソースと異なります。
Windowsで作成したテキストファイルであれば、MS932を指定すれば良いでしょう。

fileReadTextFileIFSBR.java LF

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.FileNotFoundException;
import java.io.IOException;

class ReadTextFileIFSBR {
    public static void main(String[] args) {
        String readFile = "text.txt";
        BufferedReader br = null;
        try {
            FileInputStream  fis = new FileInputStream(readFile);
            InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
            br = new BufferedReader(isr);
            String l = br.readLine();
            while (l != null) {
                System.out.println(l);
                l = br.readLine();
            }
            br.close();
            isr.close();
            fis.close();
        } catch (FileNotFoundException e) {
            System.err.println(readFile + " not found.");
        } catch (IOException e) {
            System.err.println("I/O error.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

try-with-resources の記述例

上記のBufferedReader, InputStreamReader, FileInputStreamを使用した例と同じですが、try-with-resources で記述したサンプルソースになります。
try-with-resourcesで記述しているので、closeが不要です。

fileReadTextFileTryWithRes.java LF

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.FileNotFoundException;
import java.io.IOException;

class ReadTextFileTryWithRes {
    public static void main(String[] args) {
        String readFile = "text.txt";
        try (BufferedReader br = new BufferedReader(
            new InputStreamReader(
                new FileInputStream(readFile),"UTF-8"))) {
            String l = br.readLine();
            while (l != null) {
                System.out.println(l);
                l = br.readLine();
            }
        } catch (FileNotFoundException e) {
            System.err.println(readFile + " not found.");
        } catch (IOException e) {
            System.err.println("I/O error.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

実行例

上記の3つのサンプルソースをコンパイルし、実行した時の出力です。

  1. 読み込むテキストファイルを準備
    $ (echo aiueo; echo あいうえお) > text.txt
    $ cat text.txt
    aiueo
    あいうえお
     
  2. サンプルソースのコンパイル
    $ javac ReadTextFile*.java
     
  3. 実行
    1. BufferedReader, FileReaderを使用した例
      $ java ReadTextFileFRBR
      aiueo
      あいうえお
    2. BufferedReader, InputStreamReader, FileInputStreamを使用した例
      $ java ReadTextFileIFSBR
      aiueo
      あいうえお
    3. try-with-resources の記述例
      $ java ReadTextFileTryWithRes
      aiueo
      あいうえお

以上、テキストファイルを読み込むサンプルソースでした。


添付ファイル: fileReadTextFileTryWithRes.java 18件 [詳細] fileReadTextFileIFSBR.java 20件 [詳細] fileReadTextFileFRBR.java 20件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-07-12 (水) 17:16:39 (461d)