- List all system drives in java.
- We will find out the free (available) , used and total space of each drive.
- We will list system drives using File.listRoots api.
- Find out the free (available), used and total space of each drive using following methods.
S.No. | API | Description |
1 | getTotalSpace | Returns the size of the partition named by this abstract pathname. |
2 | getFreeSpace | Returns the number of unallocated bytes in the partition named by this abstract path name. |
3 | getUsableSpace | Returns the number of bytes available to this virtual machine on the partition named by this abstract pathname. |
- We will format the disk space in GB.
- Similarly, we can format disk space in KB or MB.
Program: List system drive & their total, free, used space in java
package org.learn.io;
import java.io.File;
public class ListDrivesAndSpace {
public static void main(String[] args) {
double GB = 1024D * 1024D * 1024D;
//Format drive space as per your need
//double MB = 1024D * 1024D;
//double KB = 1024D;
File[] listDrives = File.listRoots();
System.out.println("Listing System drives:");
for(File drive: listDrives) {
System.out.printf("Drive: %s\n",drive);
System.out.printf("Total Space: %f GB\n",drive.getTotalSpace()/GB);
System.out.printf("Free Space: %f GB\n",drive.getFreeSpace()/GB);
System.out.printf("Usable Space: %f GB\n\n",drive.getUsableSpace()/GB);
}
}
}
Output: List system drive & their total, free, used space in java
Listing System drives:
Drive: C:\
Total Space: 234.728512 GB
Free Space: 186.074795 GB
Usable Space: 186.074795 GB
Drive: D:\
Total Space: 120.236324 GB
Free Space: 104.201542 GB
Usable Space: 104.201542 GB
Drive: E:\
Total Space: 120.971676 GB
Free Space: 67.195110 GB
Usable Space: 67.195110 GB