テキストファイルの入出力

FileReaderTest.java

import java.io.*;

class FileReaderTest {
    public static void main(String[] args) {
        try {
            FileReader in = new FileReader("file.txt");
            int ch;
            while ((ch = in.read()) != -1) {
                System.out.print((char)ch);
            }
            in.close();
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

file.txt

abcdefghijklmn
あいうえおかきくけこ

whileのループ内では読み込んだテキストをread()で1文字ごとに区分けして標準出力している。


ここで読み込まれたchはint型の文字コードのため、
文章として表示するには(char)でキャスト(型変換)する必要がある。

仮にキャストを忘れると、次のような出力になる。
(文字コードをかわりやすくするため、1文字ごとに空白をいれてあります)

                System.out.print(ch + " ");

出力結果

97 98 99 100 101 102 103 104 105 106 107 108 109 110 13 10 
12354 12356 12358 12360 12362 12363 12365 12367 12369 12371 13 10