J2SEアプリケーションのユーザー固有およびマシン固有の ランタイム構成データをどこに保存しますか?
(たとえば、Windowsの場合はC:\ Users \ USERNAME \ AppData \ Roaming </ em>、 Unixの場合は/ home / username)
プラットフォームに依存しない方法で、ファイルシステム内のこれらの場所をどのように取得しますか?
J2SEアプリケーションのユーザー固有およびマシン固有の ランタイム構成データをどこに保存しますか?
(たとえば、Windowsの場合はC:\ Users \ USERNAME \ AppData \ Roaming </ em>、 Unixの場合は/ home / username)
プラットフォームに依存しない方法で、ファイルシステム内のこれらの場所をどのように取得しますか?
最初にフォーマットについて:
一般に、prefs API を使用することは、アプリのシナリオに基づいて、良いことにも悪いことにもなり得ます。
環境設定のファイル レイアウトに関しては、アプリケーションによって異なります。一般的な提案は次のとおりです。
これは、構成を管理するためのいくつかの標準的な手法を示しています。生の JRE から始めて、Spring/Guice を追加するか、完全な J2EE コンテナー (おそらく組み込みの Spring を使用) を使用して、さまざまなライブラリーとツールを使用してそれらを実装できます。
構成を管理するためのその他のアプローチは次のとおりです。
これは、J2SEアプリケーションの種類によって異なります。
これらのアプローチはすべて、注意して使用すると、正しいseparatorCharを使用します。OSはニュートラルです。
Javaには、これを行うための特別なライブラリがjava.util.prefs.Preferencesにあります。
Preferences userPrefs = Preferences.getUserNodeForPackage(MyClass.class); // Gets user preferences node for MyClass
Preferences systemPrefs = Preferences.getSysteNodeForPackage(MyClass.class); // Gets system preferences node for MyClass
Preferences userPrefsRoot = Preferences.getUserRoot(); // Gets user preferences root node
Preferences systemPrefsRoot = Preferences.getSystemRoot(); // Gets system preferences root node
リソースバンドルを確認することをお勧めします。
ユーザー固有の構成の場合、「user.home」システムプロパティが指すフォルダーに構成ファイルを書き込むことができます。もちろん、そのマシンでのみ動作します。
私はこれを使います
文字列 pathFile = null; if(OS.contains("win")){ pathFile = System.getenv("AppData"); }そうしないと{ pathFile = System.getProperty("user.home"); }
アプリケーションの設定をここに保存します C:\Users\USERNAME\AppData\ Windows では user.home (/home/USERNAME) 他のプラットフォームでは