java examples
Home Java Examples Resources Java Interview Questions
Brainpower SEO

How to get free space of a drive or volume?

The getFreeSpaceKb(String path) method call of the FileSystemUtils class can help you to calculate the free space of a drive or volume in kilo bytes.

Beside using commons io solution, you can use the File.getFreeSpace() method call provided in the Java 1.6 API. You can find an example of it in the following link: How to get total space and free space of my disk?.

package com.javacoderanch.example.commons.io;

import org.apache.commons.io.FileSystemUtils;
import org.apache.commons.io.FileUtils;

import java.io.IOException;

public class DiskFreeSpace {
    public static void main(String[] args) {
        try {
            String path = "C:";
            long freeSpaceKB = FileSystemUtils.freeSpaceKb(path);
            long freeSpaceMB = freeSpaceKB / FileUtils.ONE_KB;
            long freeSpaceGB = freeSpaceKB / FileUtils.ONE_MB;

            System.out.println("Size of " + path + " = " + freeSpaceKB + " KB");
            System.out.println("Size of " + path + " = " + freeSpaceMB + " MB");
            System.out.println("Size of " + path + " = " + freeSpaceGB + " GB");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

An example result of the code above is:

Free space of C: = 121961228 KB
Free space of C: = 119102 MB
Free space of C: = 116 GB