The Java File getUsableSpace() method returns the number of bytes available to this virtual machine on the partitioned named by this abstract name. This method usually provide a more accurate estimate of how much new data can actually be written as this method checks for write permissions and other operating system restrictions.
DeclarationFollowing is the declaration for java.io.File.getUsableSpace() method −
public long getUsableSpace()Parameters
NA
Return ValueThe method returns the number of available 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 getUsableSpace() 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 getUsableSpace() method, we're getting the usable space 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 usable bytes v = f.getUsableSpace(); // true if the file path exists bool = f.exists(); // if file exists if(bool) { // prints System.out.print("number of usable 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 usable bytes: 163281137664Example - Usage of File getUsableSpace() method
The following example shows the usage of Java File getUsableSpace() 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 getUsableSpace() method, we're getting usable 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 usable bytes v = f.getUsableSpace(); // true if the file path exists bool = f.exists(); // if file exists if(bool) { // prints System.out.print("number of usable 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 usable bytes: 4245991424Example - Usage of File getUsableSpace() 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 drive or directory File file = new File("C:\\"); // Use "/" for Linux/macOS // Get usable space in bytes long usableSpace = file.getUsableSpace(); // Convert bytes to gigabytes for better readability double usableSpaceGB = usableSpace / (1024.0 * 1024 * 1024); // Print usable space System.out.println("Usable space on drive: " + usableSpaceGB + " GB"); } }Output
Let us compile and run the above program, this will produce the following result (depends on system's free space)−
Usable space 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 getUsableSpace()− o The method returns the actual usable storage space in bytes, considering user permissions and quotas. The value is converted to gigabytes (GB) for better readability.
getUsableSpace() differs from getFreeSpace() as it accounts for user permissions and system-imposed limits.
If a program runs with restricted permissions, getUsableSpace() may return a lower value than getFreeSpace().
It helps determine if the JVM has actual writable space available.
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