如何在Java中获得可用磁盘空间

自JDK1.6起,Java提供了getTotalSpace(), getUsableSpace()和getFreeSpace()方法来检查磁盘分区的详细信息。这些方法捆绑于java.io.File类,允许开发者以字节或兆为单位获取总磁盘空间、可用空间和空闲空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Java旧时代,它缺乏确定分区上可用磁盘空间的方法。 但是,自从JDK 1.6发布以来,情况有所改变,一些新方法– getTotalSpace()getUsableSpace()getFreeSpace()与java.io.File捆绑在一起,以检索分区或磁盘空间的详细信息。

package com.mkyong;

import java.io.File;

public class DiskSpaceDetail
{
    public static void main(String[] args)
    {	
    	File file = new File("c:");
    	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");
    }
}

输出量

c:分区中显示磁盘空间详细信息。

=== Partition Detail ===

 === bytes ===
Total size : 52428795904 bytes
Space free : 33677811712 bytes
Space free : 33677811712 bytes
 === mega bytes ===
Total size : 49999 mb
Space free : 32117 mb
Space free : 32117 mb

注意
getFreeSpace()getUsableSpace()方法都返回给定分区相同的总可用磁盘空间。 但是,即使在Java文档中,真正的区别也不清楚。 告诉我您是否知道两者之间有什么不同。

参考

http://download.oracle.com/javase/6/docs/api/java/io/File.html

翻译自: https://mkyong.com/java/how-to-get-free-disk-space-in-java/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值