Java 获取系统的基本根目录

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编程语言探索了获取基本目录及其详细信息的不同方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程