13

私は次のように言ってください

Preferences prefs = Preferences.userRoot().node(this.getClass().getName());

String ID1 = "Test1";

System.out.println(prefs.getBoolean(ID1, true));

prefs.putBoolean(ID1, false);

//prefs.remove(ID1);
  1. この変数は、次にプログラムを実行するときに永続的ですか?
  2. これらの変数はどこに保存されますか?
  3. これを利用する適切な方法は何ですか?
  4. このアプローチは、プロパティファイルを使用するよりも優れていますか?
4

1 に答える 1

18
  1. はい、値は永続的ですが、ユーザーのみが対象です。他のユーザーには表示されません。
  2. これはOS固有です。Windowsの場合はレジストリを使用し、Linuxの場合はユーザーrootの隠しファイルを使用すると思いますが、100%確実ではありません。
  3. あなたの質問にはかなり良い例があります。
  4. それは違います良くはありません。プリファレンスは、アプリケーションの設定を透過的に保存する方法です。これらの設定は、実行時にユーザーによって更新される場合があります(たとえば、設定を使用してユーザー固有の設定を保存できます)。プリファレンスは、アプリケーションの外部で編集できるようにするためのものではありません。プロパティファイルは、アプリケーションに固有のハード設定を保存する傾向があります。これらの設定は各ユーザーで同じであり、頻繁に変更されることはありません。プロパティファイルはテキストファイルであり、展開時にアプリケーションに付随する傾向があります。テキストエディタを使用して簡単に編集できます。アプリケーションがプロパティファイルを更新することはかなりまれです。
于 2012-04-20T13:37:46.587 に答える