Java如何获得驱动器或卷的可用空间?

该类中的getFreeSpaceKb(String path)方法FileSystemUtils可以帮助您计算驱动器或卷的可用空间(以千字节为单位)。

除了使用commons-io解决方案外,您还可以使用File.getFreeSpace()Java 1.6 API中提供的方法调用。您可以在以下链接中找到它的示例:如何获得磁盘的总空间和可用空间?

package org.nhooo.example.commons.io;

import org.apache.commons.io.FileSystemUtils;
import org.apache.commons.io.FileUtils;

import java.io.IOException;

public class DiskFreeSpace {
    public static void main(String[] args) {
        try {
            String path = "/Users/wayan";
            long freeSpaceKB = FileSystemUtils.freeSpaceKb(path);
            long freeSpaceMB = freeSpaceKB / FileUtils.ONE_KB;
            long freeSpaceGB = freeSpaceKB / FileUtils.ONE_MB;

            System.out.println("Size of " + path + " = " + freeSpaceKB + " KB");
            System.out.println("Size of " + path + " = " + freeSpaceMB + " MB");
            System.out.println("Size of " + path + " = " + freeSpaceGB + " GB");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上面的代码的示例结果是:

Size of /Users/wayan = 70583428 KB
Size of /Users/wayan = 68929 MB
Size of /Users/wayan = 67 GB

Maven依赖

<!-- http://repo1.maven.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>