The Java File getFreeSpace() method returns the number of unallocated bytes in the partition named by this abstract path name. The returned number of unallocated bytes are not a guarantee. The count of unallocated bytes is likely to be accurate immediately after this call and inaccurate by any external I/O operations.
DeclarationFollowing is the declaration for java.io.File.getFreeSpace() method −
public long getFreeSpace()Parameters
NA
Return ValueThis method returns unallocated bytes on the partition.
ExceptionSecurityException − If a security manager exists and it denies RuntimePermission("getFileSystemAttributes") or its SecurityManager. checkRead(String) denies read access to the file name by this abstract pathname.
The following example shows the usage of Java File getFreeSpace() method. We've created a File reference. Then we're creating a File Object using F:/test.txt which is present in the provided location. Now using getFreeSpace() method, we're getting the unallocated bytes in the partition.
FileDemo.javapackage com.tutorialspoint; import java.io.File; public class FileDemo { public static void main(String[] args) { File f = null; long v; boolean bool = false; try { // create new file f = new File("F:\\test.txt"); // get number of unallocated bytes v = f.getFreeSpace(); // true if the file path exists bool = f.exists(); // if file exists if(bool) { // prints System.out.print("number of unallocated bytes: "+v); } } catch(Exception e) { // if any error occurs e.printStackTrace(); } } }Output
Let us compile and run the above program, this will produce the following result(depends on system's free space)−
number of unallocated bytes: 163280998400Example - Usage of File getFreeSpace() method
The following example shows the usage of Java File getFreeSpace() method. We've created a File reference. Then we're creating a File Object using C:/test.txt which is present in the provided location. Now using getFreeSpace() method, we're getting the unallocated bytes in the partition.
FileDemo.javapackage com.tutorialspoint; import java.io.File; public class FileDemo { public static void main(String[] args) { File f = null; long v; boolean bool = false; try { // create new file f = new File("C:\\test"); // get number of allocated bytes v = f.getFreeSpace(); // true if the file path exists bool = f.exists(); // if file exists if(bool) { // prints System.out.print("number of allocated bytes: "+v); } } catch(Exception e) { // if any error occurs e.printStackTrace(); } } }Output
Let us compile and run the above program, this will produce the following result(depends on system's free space)−
number of allocated bytes: 3958620160Example - Usage of File getFreeSpace() method FileDemo.java
package com.tutorialspoint; import java.io.File; public class FileDemo { public static void main(String[] args) { // Create a File object representing a directory or drive File file = new File("C:\\"); // Use "/" for Linux/macOS // Get free space in bytes long freeSpace = file.getFreeSpace(); // Convert bytes to gigabytes for better readability double freeSpaceGB = freeSpace / (1024.0 * 1024 * 1024); // Print free space System.out.println("Free space available on drive: " + freeSpaceGB + " GB"); } }Output
Let us compile and run the above program, this will produce the following result (depends on system's free space)−
Free space available on drive: 120.5 GBExplanation
Creating a File Object− The File object is initialized with "C:\\" (for Windows) or "/" (for Linux/macOS). It represents the root directory of the filesystem.
Using getFreeSpace()− The method returns the free space in bytes. To make it more readable, the value is converted to gigabytes (GB).
getFreeSpace() only returns free space available to the JVM on that specific partition.
It can be useful for checking if enough space is available before writing large files.
java_io_file_methods.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4