ファイル書込み/読込み (Java)
[履歴] (2013/08/15 01:59:09)

概要

クラスライブラリjava.io.FileReader、java.io.FileWriter、java.io.PrintWriterを利用すると、ファイル入出力が実現できます。

ファイル書込み

クラスライブラリjava.io.PrintWriter、java.io.FileWriterを利用します。

sample.java

import java.io.PrintWriter;
import java.io.FileWriter;

class Sample {
    public static void main(String args[]) {
        try {
            // FileWriterで直接書込む
            FileWriter fw = new FileWriter(args[0]);
            fw.write("Written by FileWriter.\n");

            // PrintWriterで間接的にFileWriterを利用して書込む
            PrintWriter pw = new PrintWriter(fw); 
            pw.println("Written by PrintWriter.");
            pw.println(128);

            pw.close();
            fw.close();
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }
}

実行例

$ javac sample.java && java Sample tmp.txt
$ cat tmp.txt 
Written by FileWriter.
Written by PrintWriter.
128

ファイル読込み

クラスライブラリjava.io.FileReaderを利用します。

sample.java

import java.io.FileReader;

class Sample {
    public static void main(String args[]) {
        try {
            FileReader fr = new FileReader(args[0]);
            int c;
            while((c=fr.read()) != -1) //符号なし整数charにキャスト
                System.out.print((char)c); //printで暗黙的にtoString

            fr.close();
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }
}

実行例

$ javac sample.java && java Sample sample.java
import java.io.FileReader;

class Sample {
    public static void main(String args[]) {
        try {
            FileReader fr = new FileReader(args[0]);
            int c;
            while((c=fr.read()) != -1) //符号なし整数charにキャスト
                System.out.print((char)c); //printで暗黙的にtoString

            fr.close();
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }
}
関連ページ