Javaでユーザーのホームディレクトリを見つける最も良い方法は何ですか? 質問する

Javaでユーザーのホームディレクトリを見つける最も良い方法は何ですか? 質問する

Java でユーザーのホームディレクトリを見つける最適な方法は何ですか?

問題は、ソリューションがクロスプラットフォームである必要があることです。つまり、Windows 2000、XP、Vista、OS X、Linux、およびその他の Unix バリアントで動作する必要があります。私は、すべてのプラットフォームでこれを実現できるコード スニペットと、プラットフォームを検出する方法を探しています。

Javaのバグによる4787931システム プロパティはuser.homeWindows XP では正しく動作しないため、このシステム プロパティを使用することはクロスプラットフォームではないため、適切な解決策ではありません。

ベストアンサー1

あなたが言及しているバグ (バグ 4787391) は、Java 8 で修正されています。古いバージョンの Java を使用している場合でも、このSystem.getProperty("user.home")アプローチはおそらく依然として最善です。このuser.homeアプローチは、非常に多くのケースで機能するようです。Windows では、ホーム ディレクトリの意味に関する概念が変化するため、100% 完全なソリューションを実現するのは困難です。 では十分でない

場合は、Windows 用の の定義を選択して使用し、 で適切な環境変数を取得することをuser.homeお勧めします。home directorySystem.getenv(String)

おすすめ記事