私は基本的なファイルブラウザを作っており、デフォルトのルートディレクトリを取得する方法を知りたいと思っています。私は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. オブジェクトがJavaでnullの場合、デフォルト値を取得します
- 7. プロジェクトのルートディレクトリ以外でJavaがファイルを読み取れない
- 8. ルートディレクトリのフォルダからディレクトリを取得するPHP
- 9. WPD APIからデバイスのルートディレクトリを取得するには?
- 10. Javaからデフォルトのネットワークインターフェイスを取得する
- 11. "data_files"ルートディレクトリを取得するPython関数はありますか?
- 12. ルートディレクトリを読み取るバッチファイル
- 13. Javaで実行時に変数のデフォルト値を取得
- 14. Javascript:パスからルートディレクトリを取得する方法
- 15. Androidファイルからルートディレクトリを取得する方法(パス)
- 16. Windowsのデフォルトのアイコンを取得する
- 17. javaでデフォルトのゲートウェイのIPアドレスとMACアドレスを取得できますか?
- 18. Javaの注釈からデフォルトの要素値を取得
- 19. チェックボックスのデフォルト値を取得
- 20. Djangoでnull ForeignKeyのデフォルト値を取得
- 21. JavaでXMLのエンコーディングタイプを取得する
- 22. Eclipse Java IDEのワークスペースのルートディレクトリを参照するビルトインビルド変数
- 23. Javaアプリケーションのルートディレクトリにフォルダを作成する方法は?
- 24. スレッドコンテキストを取得するjava
- 25. Javaプログラムでバックスラッシュが指すルートディレクトリを変更します。
- 26. UWPタイトルバーのデフォルトの色をプログラムで取得する方法
- 27. TensorFlowでデフォルトのプレースホルダのグラデーションを取得する方法は?
- 28. MongoDBドキュメントのオブジェクトフィールドのキーで値を取得するか、デフォルト値
- 29. ココアでユーザーのデフォルトのメールアドレスを取得する
- 30. Laravelで `firstOrNew`のデフォルトのMySql値を取得する方法は?
リンクが壊れています – IanGilham
@IanGilham他の回答にコメントするつもりだったと思います – Supuhstar
はい、悪いです。あなたは私が意味するものを見つけたようです。 – IanGilham