Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Java中的默认根目录_Java_File_Browser - Fatal编程技术网

获取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");