Java 获取系统的基本根目录
基本根目录、根文件夹或根目录是指系统的基础或主要驱动器。它们拥有最高的层次结构,是特定文件夹结构的起点或开端。根目录中包含了所有其他文件夹和文件。
根据问题描述,我们需要获取系统的基本目录。目录的数量根据系统而异,它会因系统而异。通过对单个驱动器/目录进行分区,可以创建多个驱动器/目录。
让我们来看一下这篇文章,看看如何使用Java编程语言来完成这个任务。
展示一些实例
实例-1
假设我们的系统中有5个目录。
然后程序应该列出这些驱动器。
Ex-
Drive C
Drive D
Drive E
Drive F
Drive G
实例-2
假设我们的系统只有1个目录。
然后程序应该列出驱动器。
Ex-
Drive C
步骤
- 第一步 − 导入java.io.File包
-
第二步 − 创建一个File对象的数组,并使用listRoots()函数存储根目录。
-
第三步 − 使用for循环遍历数组的所有元素,并打印它们。
语法
要获取根目录,我们需要调用文件类的listRoots()函数。
以下是该方法的语法 −
File[] object_name = File.listRoots()
通过File API通常无法访问到诸如根分区、文件类型信息或隐藏文件位等详细信息。要使用它的方法,我们需要创建一个类对象。
以下是创建该类对象的语法:
FileSystemView fsv = FileSystemView.getFileSystemView();
多种方法
我们提供了不同的方法来解决问题。
- 打印所有根目录
-
打印所有根目录以及详细信息
让我们逐个查看程序及其输出。
方法1:打印所有根目录
在这种方法中,我们使用File类的listRoots()方法打印出系统中的根目录。
示例
import java.io.File;
public class Main {
public static void main(String args[]) {
// Created an array of file objects to store the root directories
File[] rootDrive = File.listRoots();
// Use a for loop to print out the array elements
for (File sysDrive : rootDrive) {
System.out.println("Drive : " + sysDrive);
}
}
}
输出
Drive : /
方法2:打印所有根目录及其详细信息
在这种方法中,我们使用File类的listRoots()方法以及FileSystemView类,与之前的方法类似,打印出带有类型、可用空间和总空间的目录。
示例
import java.io.File;
import javax.swing.filechooser.FileSystemView;
public class Main {
// Constant that stores 1 gigabyte in bytes
static long gbConvert = 1073741824l;
public static void main(String args[]) {
// Created a filesystemview object to store
FileSystemView fsv = FileSystemView.getFileSystemView();
// Created an array of file objects to store the root directories
File[] rootDrive = File.listRoots();
// Use a for loop to print out the array elements
for (File sysDrive : rootDrive) {
// Print drive letter
System.out.println("Drive : " + sysDrive);
// Print the disk type
System.out.println("Type: " +
fsv.getSystemTypeDescription(sysDrive));
// Print the space occupied and total space
System.out.println("Space occupied(in GB): " + (sysDrive.getTotalSpace() - sysDrive.getFreeSpace()) / gbConvert + "/"
+ sysDrive.getTotalSpace() / gbConvert);
System.out.println();
}
}
}
输出
Drive : /
Type: null
Space occupied(in GB): 122/874
此篇文章中,我们通过使用Java编程语言探索了获取基本目录及其详细信息的不同方法。