プロジェクトの設定を保存する必要があるプロジェクトに取り組んでおり、プログラムの起動時に設定からファイルを読み取る必要があります。Windows では、好きな場所にファイルを作成する権限がありません。一時フォルダーはしばらくすると削除される可能性があるため、作成したくありません。ファイルをどこに配置すればよいですか?
3 に答える
あなたは以下を見ることができます:
http://www.mindspring.com/~mgrand/java-system-properties.htm
これらのうち、私は次のものが使用されているのを見ました:
user.home
user.dir
java.io.tmpdir
一時ファイルに使用されています。ただし、user.dirが最も安全に使用でき、user.homeが最も一般的であると思います。
編集:一般的な方法は、起動時と再起動時にアプリで再利用されるファイルにuser.homeを使用することですが、一時ファイルにはuser.dirがより一般的に使用されます。
したがって、次の使用をお勧めします。
System.getProperty("user.home");
あなたのJavaはそこで読み書きする権限を持っているので、間違いを犯すことは決してありません。
これが何らかのユーザー設定である場合は、System.getEnv("APP_DATA") を使用します。これがローカル システム (つまり、それが実行されているコンピューター) にも関連している場合は、System.getEnv("LOCA_APP_DATA") を使用します。これは、Windows 以外のプラットフォームでは機能しないことに注意してください。本当にクロスプラットフォームなものを作成するには、ユーザーのホーム ディレクトリを指す System.getProperty("user.home") を使用できます。
設定のみを保存する必要がある場合は、ファイルはまったく必要なく、Preferences APIを使用する必要があります。権限や相互互換性などについて心配する必要はありません。