[java]java6のsdk(j2ee)をインストール[java]java.util.Hashtable<K,V>

2010年08月10日

[java]java.util.Properties

javaの勉強
java.util.Propertiesの使用メモ
 
しばらくrubyとかjsを使っていて、yamlとかjsonを多用していたので
xmlの冗長な記述をみるとひるんでしまいます
ということで制約がなければついプロパティファイルを使ってしまいます
 
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;

public class PropertiesTest {
    
    private void test(){
        try {
            
            // ファイルにkeyで設定されている値を取得します
            Properties prop = new Properties();
            // key=valueとして記述されたファイルからの読み込み
            prop.load(new FileInputStream("conf/test.properties"));
            prop.load(new FileInputStream("conf/hoge.properties"));
            prop.load(new FileInputStream("conf/foo.properties"));
            //xml形式で記述されたファイルからの読み込み
            prop.loadFromXML(new FileInputStream("conf/test.xml"));
            
            // keyに紐づくvalueを取得する
            String name = prop.getProperty("name");
            String foo = prop.getProperty("foo");
            String title = prop.getProperty("title");
            System.out.println("name:" + name);   // -> name:hoge
            System.out.println("foo:" + foo);     // -> foo:fooval
            System.out.println("title:" + title); // -> title:PropertiesTest
    
            // keyがない場合には設定されたデフォルト値を返す
            // デフォルト値が設定されていない場合はnullが返却される
            String data1 = prop.getProperty("data","default");
            System.out.println("data1:" + data1);    // -> data1:default
            String data2 = prop.getProperty("data");
            System.out.println("data2:" + data2);    // -> data2:null
            
            // プロパティのリストを出力する
            prop.list(System.out);
            // -- listing properties --
            // name=hoge
            // title=PropertiesTest
            // foo=fooval
            // test=xml_test
            
            // プロパティのキーのリストを取得する
            Enumeration keys = prop.propertyNames();
            System.out.println("-- propertyNames --");
            while(keys.hasMoreElements()){
                System.out.println(keys.nextElement());
            }
            // -- propertyNames --
            // name
            // title
            // foo
            // test
            
            // プロパティが保持しているkeyとvalueを出力ストリームに書き込む
            // key=valueの形式で出力する
            prop.store(System.out,"comment");
            // #comment
            // #Tue Aug 10 20:40:34 JST 2010
            // name=hoge
            // title=PropertiesTest
            // test=xml_test
            // foo=fooval
            
            // プロパティが保持しているkeyとvalueを出力ストリームに書き込む
            // xml形式で出力する
            prop.storeToXML(System.out,"comment");
            //             // 
            // 
            // comment
            // hoge
            // PropertiesTest
            // xml_test
            // fooval
            // 
            
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }
    
    public static void main(String[] args) {
        PropertiesTest prtest = new PropertiesTest();
        prtest.test();
    }
    
}


ryo43z at 22:00│Comments(1)TrackBack(0) java 

トラックバックURL

この記事へのコメント

1. Posted by レトビラ|シアリス 購入   2011年11月28日 20:04
シアリス 福岡
エステ 格安
バイアグラ レビトラ

コメントする

名前
 
  絵文字
 
 
[java]java6のsdk(j2ee)をインストール[java]java.util.Hashtable<K,V>