How to get Total space, Free space and Usable space of given disk drive in Java?
Problem Description :
Write a program in Java that prints total space, free space and usable space of given disk drive.
![]() |
How to get total, free and usable space in Java? |
Concept :
For getting required information we need to use following methods of File class that is present in java.io.* package.
- public long getTotalSpace() - Print total space.
- public long getFreeSpace() - Print free space.
- public long getUsableSpace() - Print usable space.
Java Program :
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.javamultiplex.filehandling; | |
import java.io.File; | |
import java.io.IOException; | |
import java.util.InputMismatchException; | |
import java.util.Scanner; | |
/** | |
* @author Rohit Agarwal | |
* @category File Handling | |
* @problem How to get disk space information in java? | |
*/ | |
public class DiskSpace { | |
public static void main(String[] args) throws IOException { | |
Scanner input = null; | |
try { | |
input = new Scanner(System.in); | |
System.out.println("Enter drive letter : "); | |
char ch = input.next(".").charAt(0); | |
File file = new File(ch + ":"); | |
// Finding total space. | |
long totalSpace = file.getTotalSpace(); | |
// Finding free space. | |
long freeSpace = file.getFreeSpace(); | |
// 1 KB = 1024 Byte, 1 MB = 1024 KB, 1 GB = 1024 MB, 1 TB = 1024 GB | |
long totalSpaceInGB = totalSpace / (1024 * 1024 * 1024); | |
long freeSpaceInGB = freeSpace / (1024 * 1024 * 1024); | |
long usableSpaceInGB = totalSpaceInGB - freeSpaceInGB; | |
System.out.println("Total Space : " + totalSpaceInGB + " GB"); | |
System.out.println("Free Space : " + freeSpaceInGB + " GB"); | |
System.out.println("Usable Space : " + usableSpaceInGB + " GB"); | |
} catch (InputMismatchException e) { | |
System.out.println("Enter drive letter correctly!"); | |
} finally { | |
if (input != null) { | |
input.close(); | |
} | |
} | |
} | |
} |
Output :
![]() |
Output - How to get disk space information in Java? |
References :
https://docs.oracle.com/javase/7/docs/api/java/io/File.html#getFreeSpace()
https://docs.oracle.com/javase/7/docs/api/java/io/File.html#getUsableSpace()
Thank you friends, I hope you have clearly understood the solution of this problem. If you have any doubt, suggestion or query please feel free to comment below. You can also discuss this solution in our forum.
Tags : File Handling, disk space information, if else, Scanner, File, getTotalSpace(), getFreeSpace(), getUsableSpace(), java.io
How to get Total space, Free space and Usable space of given disk drive in Java?
Reviewed by Rohit Agarwal
on
4/21/2017
Rating:

No comments:
Please provide your valuable comments. If you have any suggestion please share with me I will work on it and if you have any question or doubt please ask, don't hesitate. I am your friend, i will clarify all your doubts.