- 具体的には、Windowsで「..\Documents & Settings\All Users」を取得します。基本的に、ソフトウェアが実行されているOSに基づいてフロントエンドを動的に派生させる必要があるすべてのパスです。(今、これに対する答えが必要です)
- 現在のユーザーのマイ ドキュメント ディレクトリ(これは回答 済みです) と、基本的に、ソフトウェアが実行されている OS に基づいてフロント エンドを動的に派生させる必要があるすべてのパスです。
3 に答える
私のドキュメントは、おそらく以下にアクセスして処理するのが最善でしょう:
System.getProperty("user.home");
System.getPropertyのドキュメントを参照してください。
ユーザーの環境について取得できる情報はすべて、から取得できます
System.getProperty("...");
取得できるもののリストについては、こちらをご覧ください。
OS に依存する方法で、必要なパス (すべてのユーザーのパス) を取得できるとは思いません。結局のところ、他のオペレーティング システムに同等のものはありますか? あなたの最善の策は、おそらく検査することです:
System.getProperty("os.name");
Windows を実行しているかどうかを確認し、実行している場合は「C:\Documents & Settings\All Users\」を使用します。
しかし、常に使用する方が良いでしょう
System.getProperty("user.home");
(他の人が述べたように)アプリケーション全体。または、保存したいものを保存するディレクトリをユーザーが指定できるようにします。
具体的には、Windowsで「..\Documents & Settings\All Users」を取得します。基本的に、ソフトウェアが実行されているOSに基づいてフロントエンドを動的に派生させる必要があるすべてのパスです。(今、これに対する答えが必要です)
All Users ディレクトリの下のフォルダは、Windows の可変ディレクトリです。詳細については、KNOWNFOLDERID (古いバージョンではCSIDL ) に関するドキュメントを参照してください。この値はシステムに依存するため、Java は値にアクセスする方法を提供しません。
一般に、この Windows 固有のフォルダーに相当する他のオペレーティング システムはないと思います。さらに、フォルダ Documents & Settings\All Users は最新の Windows バージョンにのみ存在し、たとえば Windows 2000 や XP では処理が異なると思います。
この情報が本当に必要な場合は、マイクロソフトのドキュメントを読み、ネイティブ ライブラリまたは Runtime.exec によって呼び出されるスクリプトを実装して、Java アプリケーションに情報を提供する必要があります。