获取 Java 中的缺省根目录
我正在制作一个基本的文件浏览器,并想知道如何获取默认的根目录。我知道这给出了所有的根源(对我来说是),但我想要用户主要使用的根(即带有操作系统的根),所以我知道从哪里开始浏览。java.io.File.listRoots()
A:\, C:\, D:\, E:\, F:\, G:\, H:\, I:\, L:\ T:\, U:\, X:\, Y:\, Z:\
我正在制作一个基本的文件浏览器,并想知道如何获取默认的根目录。我知道这给出了所有的根源(对我来说是),但我想要用户主要使用的根(即带有操作系统的根),所以我知道从哪里开始浏览。java.io.File.listRoots()
A:\, C:\, D:\, E:\, F:\, G:\, H:\, I:\, L:\ T:\, U:\, X:\, Y:\, Z:\
不确定这是否有任何帮助,但您可以尝试:
import javax.swing.filechooser.*;
FileSystemView.getFileSystemView().getRoots()[0];
或
FileSystemView.getFileSystemView().getHomeDirectory();
或
System.getProperty("user.dir");
对于最后一个代码段,您可以使用 getParent() 向上导航来获取根目录,直到返回为止。null
获取操作系统根分区只是一件事情,因为它总是.Windows
Unix
/
因此,以下代码仅适用于:Windows
System.getenv("SystemDrive");
它获取环境变量值。这应该始终返回操作系统的根分区,例如 .SystemDrive
C: