📌  相关文章
📜  使用Java查找可用磁盘空间(1)

📅  最后修改于: 2023-12-03 15:22:18.913000             🧑  作者: Mango

使用Java查找可用磁盘空间

Java 在类库中提供了获取磁盘信息的接口,可以很容易地查找可用磁盘空间。

1. 获取磁盘信息

Java 提供了一个 FileSystemView 类来获取文件系统信息,通过 getFileSystemView() 方法获取系统文件系统视图,代码如下:

FileSystemView fileSystemView = FileSystemView.getFileSystemView();

然后,通过 getRoots() 方法获取所有的根目录,并遍历每个根目录来获取磁盘信息,代码如下:

File[] roots = fileSystemView.getRoots();
for (File root : roots) {
    String displayName = fileSystemView.getSystemDisplayName(root);
    String rootPath = root.getAbsolutePath();
    long totalSpace = root.getTotalSpace();
    long freeSpace = root.getFreeSpace();
    System.out.println(displayName + " : " + rootPath + " : " + totalSpace + " : " + freeSpace);
}

通过 getSystemDisplayName() 方法获取某个根目录的显示名称,通过 getAbsolutePath() 方法获取根目录的绝对路径,通过 getTotalSpace() 方法获取总空间,通过 getFreeSpace() 方法获取可用空间。

2. 单独获取某个磁盘的空间信息

如果只需要获取某个磁盘的空间信息,可以通过创建一个 File 对象来实现,代码如下:

File file = new File("D:/");
long totalSpace = file.getTotalSpace();
long freeSpace = file.getFreeSpace();
System.out.println("Total Space : " + totalSpace + " Bytes");
System.out.println("Free Space : " + freeSpace + " Bytes");
3. 可用空间百分比计算

如果需要获取某个磁盘的可用空间百分比,可以通过计算总空间和可用空间的比例来实现,代码如下:

double usedPercent = (double)(totalSpace - freeSpace) / totalSpace * 100;
double freePercent = (double)freeSpace / totalSpace * 100;
System.out.println("Used Space Percent : " + usedPercent + "%");
System.out.println("Free Space Percent : " + freePercent + "%");
4. 总结

通过上述方法,可以很方便地获取可用磁盘空间信息,并进行相关计算。同时,由于 Java 的跨平台特性,上述代码也可以在 Linux、Mac OS 等系统上顺利运行。