私は、次のニーズを満たすデスクトップアプリケーションの設定を保存するためのパスを取得するだけの溶液(例えばsqliteのデータベース)が必要です。Javaアプリケーションに環境設定を保存する場所は?
- クロスプラットフォーム
- 瓶からと「通常」の呼び出し
X.class.getProtectionDomain().getCodeSource().getLocation()
とjava.util.pref.Preferences
クラスを使用してコードベースパスを取得するのに多くの時間を費やしていますが、戻り値が異なる場合があります。
「クロスプラットフォーム」は、定義が難しい種類です。 「各プラットフォームのベストプラクティス」と呼ばれるソリューションは、実現するのが容易ではありません。ユーザー固有のデータと共有データを区別することは賢明です。
'System.getProptery(" user.dir ")で提案されているように**〜/ .appdata **の下にアプリケーションデータを保存することは、UNIXシステムにとっては良いアプローチですが、クロスプラットフォームの側面はどこですか? – phineas
@phineasはすべてのプラットフォームでユーザーディレクトリを返します。ウィンドウの 'C:/ documents and settings/ /'になります。 –
Bozho