勝手に Java リファレンス / クラス Properties

戻る

java.lang.Properties の機能
クラス Properties では、

  • name=hoge
  • country=japan
などのように、String型のキーと値の組み合わせを扱えます。
このデータは、簡単にディスクへの保存や、そこからの読み出しが可能です。
保存、読み出し先は、ストリームであればディスクだけに限りません。

自動的にエスケープもしてくれるようですので、ハードディスク上にプログラムの環境設定などを保存したいときなどに安心して使えます。

ただ、これをストレージとして使うのはやめた方がいいでしょう。
そういう場合は、データベース連携か、ファイルへの保存をした方がいいと思います。


使用例

  • ディスク上に Properties を保存する

    たとえば、下のようなプログラムでプロパティの保存ができます。

    String propsPath = "props.properties"; // プロパティを保存するファイル名
    Properties props = new Properties(); // Properties のクラスインスタンスの生成
    File propsFile = new File( propsPath ); // Fileオブジェクトの生成
    if ( propsFile.exists() == false ){ propsFile.createNewFile(); } // Fileが存在しない場合は、新規作成
    FileOutputStream outStream = new FileOutputStream( propsFile ); // FileOutputStream のクラスインスタンスの生成
    props.setProperty("KEY" , "VALUE"); // プロパティの設定
    props.store(outStream, "Comment"); // FileOutputStreamへ、プロパティを保存
    outStream.close(); // ストリームのクローズ



  • ディスク上から Properties を取得する

    たとえば、下のようなプログラムでプロパティの保存ができます。

    String propsPath = "props.properties"; // プロパティを取得するファイル名
    String key = "KEY";
    Properties props = new Properties(); // Properties のクラスインスタンスの生成
    File propsFile = new File( propsPath ); // Fileオブジェクトの生成
    FileInputStream inStream = new FileInputStream( propsFile ); // FileInputStream のクラスインスタンスの生成
    props.load(inStream); // FileInputStreamから、プロパティを取得
    String value = props.getProperty( key ); // getProperty でキーを指定して値を取得
    inStream.close(); // ストリームのクローズ