Class FileSystemUtils
- java.lang.Object
-
- org.apache.commons.io.FileSystemUtils
-
@Deprecated public class FileSystemUtils extends java.lang.Object
Deprecated.As of 2.6 deprecated without replacement. Use equivalent methods inFileStore
instead, e.g.Files.getFileStore(Paths.get("/home")).getUsableSpace()
or iterate overFileSystems.getDefault().getFileStores()
General File System utilities.This class provides static utility methods for general file system functions not provided via the JDK
File
class.The current functions provided are:
- Get the free space on a drive
- Since:
- 1.1
-
-
Constructor Summary
Constructors Constructor Description FileSystemUtils()
Deprecated.Instances should NOT be constructed in standard programming.
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static long
freeSpace(java.lang.String path)
Deprecated.Use freeSpaceKb(String) Deprecated from 1.3, may be removed in 2.0static long
freeSpaceKb()
Deprecated.As of 2.6 deprecated without replacement.static long
freeSpaceKb(long timeout)
Deprecated.As of 2.6 deprecated without replacement.static long
freeSpaceKb(java.lang.String path)
Deprecated.As of 2.6 deprecated without replacement.static long
freeSpaceKb(java.lang.String path, long timeout)
Deprecated.As of 2.6 deprecated without replacement.
-
-
-
Method Detail
-
freeSpace
@Deprecated public static long freeSpace(java.lang.String path) throws java.io.IOException
Deprecated.Use freeSpaceKb(String) Deprecated from 1.3, may be removed in 2.0Returns the free space on a drive or volume by invoking the command line. This method does not normalize the result, and typically returns bytes on Windows, 512 byte units on OS X and kilobytes on Unix. As this is not very useful, this method is deprecated in favour offreeSpaceKb(String)
which returns a result in kilobytes.Note that some OS's are NOT currently supported, including OS/390, OpenVMS.
FileSystemUtils.freeSpace("C:"); // Windows FileSystemUtils.freeSpace("/volume"); // *nix
The free space is calculated via the command line. It uses 'dir /-c' on Windows and 'df' on *nix.- Parameters:
path
- the path to get free space for, not null, not empty on Unix- Returns:
- the amount of free drive space on the drive or volume
- Throws:
java.lang.IllegalArgumentException
- if the path is invalidjava.lang.IllegalStateException
- if an error occurred in initialisationjava.io.IOException
- if an error occurs when finding the free space- Since:
- 1.1, enhanced OS support in 1.2 and 1.3
-
freeSpaceKb
@Deprecated public static long freeSpaceKb(java.lang.String path) throws java.io.IOException
Deprecated.As of 2.6 deprecated without replacement. Please useFileStore.getUsableSpace()
.Returns the free space on a drive or volume in kibibytes (1024 bytes) by invoking the command line.FileSystemUtils.freeSpaceKb("C:"); // Windows FileSystemUtils.freeSpaceKb("/volume"); // *nix
The free space is calculated via the command line. It uses 'dir /-c' on Windows, 'df -kP' on AIX/HP-UX and 'df -k' on other Unix.In order to work, you must be running Windows, or have a implementation of Unix df that supports GNU format when passed -k (or -kP). If you are going to rely on this code, please check that it works on your OS by running some simple tests to compare the command line with the output from this class. If your operating system isn't supported, please raise a JIRA call detailing the exact result from df -k and as much other detail as possible, thanks.
- Parameters:
path
- the path to get free space for, not null, not empty on Unix- Returns:
- the amount of free drive space on the drive or volume in kilobytes
- Throws:
java.lang.IllegalArgumentException
- if the path is invalidjava.lang.IllegalStateException
- if an error occurred in initialisationjava.io.IOException
- if an error occurs when finding the free space- Since:
- 1.2, enhanced OS support in 1.3
-
freeSpaceKb
@Deprecated public static long freeSpaceKb(java.lang.String path, long timeout) throws java.io.IOException
Deprecated.As of 2.6 deprecated without replacement. Please useFileStore.getUsableSpace()
.Returns the free space on a drive or volume in kibibytes (1024 bytes) by invoking the command line.FileSystemUtils.freeSpaceKb("C:"); // Windows FileSystemUtils.freeSpaceKb("/volume"); // *nix
The free space is calculated via the command line. It uses 'dir /-c' on Windows, 'df -kP' on AIX/HP-UX and 'df -k' on other Unix.In order to work, you must be running Windows, or have a implementation of Unix df that supports GNU format when passed -k (or -kP). If you are going to rely on this code, please check that it works on your OS by running some simple tests to compare the command line with the output from this class. If your operating system isn't supported, please raise a JIRA call detailing the exact result from df -k and as much other detail as possible, thanks.
- Parameters:
path
- the path to get free space for, not null, not empty on Unixtimeout
- The timeout amount in milliseconds or no timeout if the value is zero or less- Returns:
- the amount of free drive space on the drive or volume in kilobytes
- Throws:
java.lang.IllegalArgumentException
- if the path is invalidjava.lang.IllegalStateException
- if an error occurred in initialisationjava.io.IOException
- if an error occurs when finding the free space- Since:
- 2.0
-
freeSpaceKb
@Deprecated public static long freeSpaceKb() throws java.io.IOException
Deprecated.As of 2.6 deprecated without replacement. Please useFileStore.getUsableSpace()
.Returns the free space for the working directory in kibibytes (1024 bytes) by invoking the command line.Identical to:
freeSpaceKb(new File(".").getAbsolutePath())
- Returns:
- the amount of free drive space on the drive or volume in kilobytes
- Throws:
java.lang.IllegalStateException
- if an error occurred in initialisationjava.io.IOException
- if an error occurs when finding the free space- Since:
- 2.0
-
freeSpaceKb
@Deprecated public static long freeSpaceKb(long timeout) throws java.io.IOException
Deprecated.As of 2.6 deprecated without replacement. Please useFileStore.getUsableSpace()
.Returns the free space for the working directory in kibibytes (1024 bytes) by invoking the command line.Identical to:
freeSpaceKb(new File(".").getAbsolutePath())
- Parameters:
timeout
- The timeout amount in milliseconds or no timeout if the value is zero or less- Returns:
- the amount of free drive space on the drive or volume in kilobytes
- Throws:
java.lang.IllegalStateException
- if an error occurred in initialisationjava.io.IOException
- if an error occurs when finding the free space- Since:
- 2.0
-
-