Java 获取一个系统的基本根目录
基本根目录、根文件夹或根指的是一个系统的基本或主要驱动器。它们具有最高的层次结构,是一个特定文件夹结构的起点或开始。根目录包含了其中的所有其他文件夹和文件。
根据问题陈述,我们必须获得一个系统的基本目录。目录的数量取决于系统,因为系统与系统之间是不同的。通过对一个驱动器/目录进行分区,可以创建多个驱动器/目录。
让我们探讨一下这篇文章,看看如何通过使用Java编程语言来完成。
向你展示一些实例
实例一
假设我们的系统中有5个目录。
那么程序应该列出驱动器。
Ex-
Drive C
Drive D
Drive E
Drive F
Drive G
实例二
假设我们的系统中只有一个目录。
那么这个程序应该列出驱动器。
Ex-
Drive C
算法
- 第1步– 导入java.io.File包
-
第2步 – 创建一个File对象的数组,使用listRoots()函数存储根目录。
-
第3步 – 使用for循环遍历数组的所有元素并打印它们。
语法
为了获得根目录,我们需要调用文件类的一个函数,叫做listRoots()。
以下是该方法的语法 –
File[] object_name = File.listRoots()
要获得像根分区、文件类型信息或隐藏文件位这样的细节,一般不能通过文件API访问。为了使用它的方法,我们需要创建一个类对象。
以下是创建该类对象的语法 –
FileSystemView fsv = FileSystemView.getFileSystemView();
多种方法
我们提供了不同方式的解决方案
- 打印所有根目录
-
打印所有根目录的详细信息。
让我们逐一看看这个程序和它的输出。
方法一:打印所有根目录
在这个方法中,我们使用文件类的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:打印所有根目录的详细信息
在这种方法中,我们使用文件类的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编程语言来获得基础目录及其细节。