私は基本的なファイルブラウザを作っており、デフォルトのルートディレクトリを取得する方法を知りたいと思っています。私はjava.io.File.listRoots()
がすべてのルーツを与えてくれることを知っています(私にとってはA:\, C:\, D:\, E:\, F:\, G:\, H:\, I:\, L:\ T:\, U:\, X:\, Y:\, Z:\
です)。しかし、私はブラウジングをどこから始めるべきかを知っているので、ユーザーが主に使用しているもの(オペレーティングシステムを持っているもの)これは、任意のヘルプのですが、あなたが試みることができる場合Javaでデフォルトのルートディレクトリを取得する
答えて
はWindows
上の唯一のものです。
したがって、次のコードは、唯一Windows
の作品:
System.getenv("SystemDrive");
それはSystemDrive
環境変数の値を取得します。これは常にオペレーティングシステムのルートパーティションを返します。 C:
。
わからない:
import javax.swing.filechooser.*;
FileSystemView.getFileSystemView().getRoots()[0];
または
FileSystemView.getFileSystemView().getHomeDirectory();
または最後のスニペットの場合
System.getProperty("user.dir");
を、あなたが得ることができますgetParent()を使用して上にナビゲートし、null
が返されるようにします。 Unix
に、それは常に/
なので、オペレーティング・システムのルートパーティションを取得
public static String rootDirectory(){
return File.listRoots()[0].getAbsolutePath();
}
これは、フロッピードライブが接続されていると、Windowsの 'A'ドライブではないことが保証されていますか? – Supuhstar
@ Suuphstar、私はちょうどテストを実行しました。答えはノーです。 Windowsでは、ルーツのリストをアルファベット順に返しますので、「A:\」が最初です。 さらに、docs(https://docs.oracle.com/javase/7/docs/api/java/io/File.html#listRoots())によると、「特定のJavaプラットフォームはゼロ以上をサポートしている可能性があります階層的に構成されたファイルシステムです。つまり、インデックス0を盲目的に参照解除すると、ArrayIndexOutOfBoundsExceptionが発生する可能性があります。 この回答は完全にクロスプラットフォームではなく、信頼性がありません。 –
- 1. PHPでルートディレクトリを取得する方法
- 2. CakePHPのルートディレクトリを取得するには?
- 3. Javaロガーの出力をデフォルトでファイルに取得する方法
- 4. Javaでデフォルトのプリンタポート番号を取得する方法
- 5. 宝石のRailsアプリケーションのルートディレクトリを取得するには
- 6. ルートディレクトリのフォルダからディレクトリを取得するPHP
- 7. "data_files"ルートディレクトリを取得するPython関数はありますか?
- 8. Javaで実行時に変数のデフォルト値を取得
- 9. javaでデフォルトのゲートウェイのIPアドレスとMACアドレスを取得できますか?
- 10. Javaの注釈からデフォルトの要素値を取得
- 11. JavaでXMLのエンコーディングタイプを取得する
- 12. Eclipse Java IDEのワークスペースのルートディレクトリを参照するビルトインビルド変数
- 13. スレッドコンテキストを取得するjava
- 14. Laravelで `firstOrNew`のデフォルトのMySql値を取得する方法は?
- 15. ココアでユーザーのデフォルトのメールアドレスを取得する
- 16. Javaアプリケーションのルートディレクトリにフォルダを作成する方法は?
- 17. Javaスクリプトでファイルコンテンツを取得する
- 18. Javaでオペレーティングシステムを取得する方法
- 19. JavaでFQDNを取得する
- 20. JavaでSyslogイベントを取得する
- 21. Javaで後継コレクションを取得する
- 22. JavaアプリケーションでビルドIDを取得する
- 23. Javaでドライブ名を取得する
- 24. MathematicaイメージをJavaで取得する
- 25. AndroidでデフォルトのカレンダーIDを取得する
- 26. Symfony 2:ルート名でルートのデフォルトを取得する方法は?
- 27. タイプのデフォルトのPropertyDescriptorsを取得
- 28. デフォルトのGCC警告のリストを取得
- 29. スクロールバーのデフォルトの高さを取得
- 30. デフォルトのダイアログの表示を取得
リンクが壊れています – IanGilham
@IanGilham他の回答にコメントするつもりだったと思います – Supuhstar
はい、悪いです。あなたは私が意味するものを見つけたようです。 – IanGilham