Calculate Free Disk Space in Java
If you are a Java programmer, you may already have been asked this simple, stupid question: how to find the free disk space left on my system?.
It is possible to get the free disk space in Java 6 with a method in the class File, which returns the number of unallocated bytes in the partition named by the abstract path name. But you might be interested in the usable disk space (the one that is writable). It is even possible to get the total disk space of a partition with the method getTotalSpace().
Note : if you still use JDK 5, you’ll need to use an external library such as the Apache Commons and its FileSystem class
Example :
package com.SimpleCodeStuffs; import java.io.File; public class DiskSpace { public static void main(String[] args) { File file = new File("C:"); //total disk space in bytes. long totalSpace = file.getTotalSpace(); //unallocated free disk space in bytes. long usableSpace = file.getUsableSpace(); //unallocated free disk space available to current user in bytes. long freeSpace = file.getFreeSpace(); 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"); } }
Output :
Display the disk space detail in c: partition.
=== 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
Note : getFreeSpace() returns total free space available and getUsableSpace() returns amount of free space available to current user.