TOP > カテゴリ > Java・Android >

Javaでテキスト/プロパティファイルの読み書きをする

Javaの使い方(目次)

目次

1. テキストファイル(UTF8)の書き込み
2. テキストファイル(UTF8)の読み込み
3. プロパティファイルの書き込み
4. プロパティファイルの読み込み

今回の例では「Javaプロジェクトの作業フォルダ」に各ファイルを作成します。最初の記事から進めている方は「C:\Pleiades\workspace\プロジェクト名」に各ファイルが作成されます。

1. テキストファイル(UTF8)の書き込み

import java.io.FileWriter;

public class Main {

    public static void main(final String[] args){

        FileWriter file  = null;
        try {
            
            file = new FileWriter("テキストファイル.txt");
            
            file.write("プチモンテ\r\n");
            file.write("https://www.petitmonte.com/");
            file.flush();
            
        }catch (Exception e) {
            System.out.println(e.getMessage());
        }finally {
            if(file != null) {
                try {
                    file.close();
                }catch(Exception e) {
                    System.out.println(e.getMessage());
                }
            }
        }
    }
}

2. テキストファイル(UTF8)の読み込み

import java.io.FileReader;

public class Main {

    public static void main(final String[] args){

        FileReader file  = null;
        try {
            file = new FileReader("テキストファイル.txt");

            while(true) {

                // ファイルから一文字読み込む
                int i = file.read();

                if( i == -1) {
                    break;
                }

                System.out.print((char)i);
            }

        }catch (Exception e) {
            System.out.println(e.getMessage());
        }finally {
            if(file != null) {
                try {
                    file.close();
                }catch(Exception e) {
                    System.out.println(e.getMessage());
                }
            }
        }
    }
}

結果

プチモンテ
https://www.petitmonte.com/

3. プロパティファイルの書き込み

プロパティファイルはWindowsのINIファイルと同様です。

import java.io.FileWriter;
import java.util.Properties;

public class Main {

    public static void main(final String[] args){

        FileWriter file  = null;
        try {
            file = new FileWriter("プロパティファイル.properties");
            Properties p = new Properties();
            
            p.setProperty("イギリス革命", "1641年");
            p.setProperty("フランス革命", "1789年");
            p.store(file, "history");
            
        }catch (Exception e) {
            System.out.println(e.getMessage());
        }finally {
            if(file != null) {
                try {
                    file.close();
                }catch(Exception e) {
                    System.out.println(e.getMessage());
                }
            }
        }
    }
}

作成したファイルはメモ帳などで確認可能です。

日付は自動的に挿入されます。また、historyの部分は日本語などのマルチバイト文字は使用できないようです。

4. プロパティファイルの読み込み

import java.io.FileReader;
import java.util.Properties;

public class Main {

    public static void main(final String[] args){

        FileReader file  = null;
        try {
            file = new FileReader("プロパティファイル.properties");
            Properties p = new Properties();
            p.load(file);
            
            System.out.println("イギリス革命:" + p.getProperty("イギリス革命"));
            System.out.println("フランス革命:" + p.getProperty("フランス革命"));
            
        }catch (Exception e) {
            System.out.println(e.getMessage());
        }finally {
            if(file != null) {
                try {
                    file.close();
                }catch(Exception e) {
                    System.out.println(e.getMessage());
                }
            }
        }
    }
}

結果

イギリス革命:1641年
フランス革命:1789年





関連記事



公開日:2018年05月07日
記事NO:02647