获取Java中的默认根目录
我正在制作一个基本的文件浏览器,想知道如何获得默认的根目录。我知道获取Java中的默认根目录,java,file,browser,Java,File,Browser,我正在制作一个基本的文件浏览器,想知道如何获得默认的根目录。我知道java.io.File.listRoots()提供了所有的根(对我来说是A:\、C:\、D:\、E:\、F:\、G:\、H:\、I:\、L:\ T:\、U:\、X:\、Y:\、Z:\),但我想要用户主要使用的根(即上面有操作系统的根),所以我知道从哪里开始浏览。不确定这是否有帮助,但你可以试试: import javax.swing.filechooser.*; FileSystemView.getFileSystemView
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];
或
或
对于最后一个代码段,您可以通过使用getParent()向上导航,直到返回
null
来获取根目录。获取操作系统根分区只是Windows
上的一件事,因为在Unix
上总是//code>
因此,以下代码仅适用于Windows
:
System.getenv("SystemDrive");
它获取SystemDrive
环境变量值。这应该总是返回操作系统的根分区,例如,C:
@IanGilham我想你是想评论另一个答案是的,我的错。您似乎找到了我想要的文件。String userDir=new File(System.getProperty(“user.dir”)).getAbsolutePath();字符串rootDir=userDir.substring(0,userDir.indexOf(File.separator)+1)代码>向下投票,因为System.getProperty(“user.dir”)
并不总是返回操作系统驱动器路径,而是返回应用程序的目录。@Plaza是正确的。也许这就是“user.home”
?
System.getProperty("user.dir");
System.getenv("SystemDrive");