Javaでpropertiesファイルの読み書き処理(1)

2009/01/24 16:36Update
TAGS: java | properties | プロパティファイル | ファイル

propertiesファイルの概要、書き方、unicodeへ変換方法(日本語の取得)、Javaでの読み書きなどをサンプルから解説します。

propertiesファイルとは


properties(プロパティ)ファイルは次のような特徴を持つファイルです。
1)拡張子は「.properties」のテキストファイル
2)プログラムで使用する各種設定を記述するために用いられる
3)内容に「キー=値」の形式で記述

propertiesファイルの定義例


propertiesファイルの書き方例:
user.properties
#ログインページ用
user.id = ユーザID
user.email = Eメール

1)「キー=値」の形式で記述します。
2)行頭に「#」の行はコメントと見なします。

propertiesファイルをunicodeへ変換


propertiesファイルに日本語などASCII文字以外の文字列を記述する場合には、Unicodeに変換する必要があります。Unicodeへ変換するには、J2SEに付属しているnative2asciiツールを使用します。
例:
C:\java>native2ascii -encoding UTF8 user.properties user_ja.properties
native2asciiの使い方詳細について、次のページをご参照ください。
native2ascii - ネイティブ - ASCII コンバータ

propertiesファイルの読み書き


例:
package com.test;

import java.io.FileInputStream;
import java.util.Properties;

public class TestProperties {
    public static void main(String[] args) {
        try {
          //Propertiesオブジェクトを生成
          Properties prop = new Properties();
          // ファイルを読み込む
          prop.load(new FileInputStream("c:\\user_ja.properties"));
          //InputStream is = this.getClass().getResourceAsStream("
            /com/test/user_ja.properties");    //この場合、user_ja.propertiesはcom.test.*というパッケージのクラスファイルと同じディレクトリに配置してください

          // 値を取得
          System.out.println(" user.id = " + prop.getProperty("user.id"));
          System.out.println(" user.email = " + prop.getProperty("user.email"));
          
          // 値をセット
          prop.setProperty("user.id", "新しいユーザID");

          // プロパティのリストをファイルに保存します
          prop.store(new FileOutputStream("newUser.properties"), null);

        } catch (Exception e) {
          System.out.println("Exception : " + e);
        }
      }
}


次回は「java.util.ResourceBundle」というクラスを利用してプロパティファイルを処理してみます。

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation