Java-获取分区剩余空间

Java-获取分区剩余空间

Tags: Java

摘要

Java-获取分区剩余空间

获取分区或磁盘可用空间

以前,java没有明确的方法来确定一个分区的可用空间。jdk1.6之后, getTotalSpace(),getUsableSpace()和getFreeSpace()可以用来检查分区或磁盘空间细节。

代码

package cn.javacore.io.file;

import java.io.File;

public class _32_DiskSpaceDetail {
    public static void main(String[] args) {

        File file = new File("/media/zhu/2-j2ee");
        long totalSpace = file.getTotalSpace(); //total disk space in bytes.
        long usableSpace = file.getUsableSpace(); ///unallocated / free disk space in bytes.
        long freeSpace = file.getFreeSpace(); //unallocated / free disk space in bytes.

        System.out.println(" === Partition Detail ===");

        System.out.println(" === bytes ===");
        System.out.println("Total size : " + totalSpace + " bytes");
        System.out.println("Space free : " + usableSpace + " bytes");
        System.out.println("Space free : " + freeSpace + " bytes");

        System.out.println(" === mega bytes ===");
        System.out.println("Total size : " + totalSpace / 1024 / 1024 + " mb");
        System.out.println("Space free : " + usableSpace / 1024 / 1024 + " mb");
        System.out.println("Space free : " + freeSpace / 1024 / 1024 + " mb");
    }
}

输出

 === Partition Detail ===
 === bytes ===
Total size : 157580443648 bytes
Space free : 53703516160 bytes
Space free : 53703516160 bytes
 === mega bytes ===
Total size : 150280 mb
Space free : 51215 mb
Space free : 51215 mb

getFreeSpace() and getUsableSpace() 返回相同的值?

getFreeSpace()方法返回分区的自由空间数量的一个即时数。而getUsableSpace()方法还包含了另外一些功能来检查写许可和其它操作系统限制,这将返回一个可用空间数的更好的估计值。假如你想决定在写向一个文件之前是否你有足够的磁盘空间,那么,典型情况下getUsableSpace()将给你一个更精确的估计值。