Linuxでのjava.util.prefs.Preferences

2013-01-02T00:00:00+00:00 Java Linux

Windowsでいうレジストリ的な事するの場合にはjava.util.prefs.Preferencesを使えば出来た気がするのですが、これLinuxだとどこでデータが保管されているのか知らない(っていうかやった事が無い)のでやってみた

import java.util.prefs.Preferences;

public class Client {
    public static void main(String[] args) throws Exception {
        //ユーザー別の場合はuserNodeForPackageメソッドに変える
        Preferences pref1 = Preferences.systemNodeForPackage(Client.class);

        //レジストリに値を設定
        pref1.put("message","Hello World");
        pref1.flush();

        Preferences pref2 = Preferences.systemNodeForPackage(Client.class);
        System.out.println(pref2.get("message", null));
    }
}
  • systemNodeForPackageの場合 -> /etc/.java (以下省略) (/etc内に書き込むので管理者権限が必要)
  • userNodeForPackageの場合 -> $HOME/.java 等に格納されている模様。で何やらユーザーノードな所探ってみると、Google App EngineだとかGroovy(恐らくはgroovyConsoleかなんかで使われてる?)とかもこれを使ってちょっとしたデータを保管されている模様

ちなみにデータの形式はXMLになってる(こっちのUbuntu環境だと)

Androidアプリ上でのサーチハードウェアキーによる振る舞い機能を実装 ShareCompatとActionProvider