| java.lang.Object org.apache.commons.io.FileSystemUtils
FileSystemUtils | public class FileSystemUtils (Code) | | General File System utilities.
This class provides static utility methods for general file system
functions not provided via the JDK
java.io.File File class.
The current functions provided are:
- Get the free space on a drive
author: Frank W. Zammetti author: Stephen Colebourne author: Thomas Ledoux author: James Urie author: Magnus Grimsell author: Thomas Ledoux version: $Id: FileSystemUtils.java 453889 2006-10-07 11:56:25Z scolebourne $ since: Commons IO 1.1 |
Constructor Summary | |
public | FileSystemUtils() Instances should NOT be constructed in standard programming. |
Method Summary | |
public static long | freeSpace(String path) Returns 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
of
FileSystemUtils.freeSpaceKb(String) which returns a result in kilobytes.
Note that some OS's are NOT currently supported, including OS/390,
OpenVMS and and SunOS 5. | public static long | freeSpaceKb(String path) Returns the free space on a drive or volume in kilobytes 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). | long | freeSpaceOS(String path, int os, boolean kb) Returns the free space on a drive or volume in a cross-platform manner. | long | freeSpaceUnix(String path, boolean kb, boolean posix) Find free space on the *nix platform using the 'df' command. | long | freeSpaceWindows(String path) Find free space on the Windows platform using the 'dir' command. | Process | openProcess(String[] cmdAttribs) Opens the process to the operating system. | long | parseBytes(String freeSpace, String path) Parses the bytes from a string. | long | parseDir(String line, String path) | List | performCommand(String[] cmdAttribs, int max) Performs the os command. |
FileSystemUtils | public FileSystemUtils()(Code) | | Instances should NOT be constructed in standard programming.
|
freeSpace | public static long freeSpace(String path) throws IOException(Code) | | Returns 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
of
FileSystemUtils.freeSpaceKb(String) which returns a result in kilobytes.
Note that some OS's are NOT currently supported, including OS/390,
OpenVMS and and SunOS 5. (SunOS is supported by freeSpaceKb .)
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 the amount of free drive space on the drive or volume throws: IllegalArgumentException - if the path is invalid throws: IllegalStateException - if an error occurred in initialisation throws: IOException - if an error occurs when finding the free space since: Commons IO 1.1, enhanced OS support in 1.2 and 1.3 |
freeSpaceKb | public static long freeSpaceKb(String path) throws IOException(Code) | | Returns the free space on a drive or volume in kilobytes 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 the amount of free drive space on the drive or volume in kilobytes throws: IllegalArgumentException - if the path is invalid throws: IllegalStateException - if an error occurred in initialisation throws: IOException - if an error occurs when finding the free space since: Commons IO 1.2, enhanced OS support in 1.3 |
freeSpaceOS | long freeSpaceOS(String path, int os, boolean kb) throws IOException(Code) | | Returns the free space on a drive or volume in a cross-platform manner.
Note that some OS's are NOT currently supported, including OS/390.
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 Parameters: os - the operating system code Parameters: kb - whether to normalize to kilobytes the amount of free drive space on the drive or volume throws: IllegalArgumentException - if the path is invalid throws: IllegalStateException - if an error occurred in initialisation throws: IOException - if an error occurs when finding the free space |
freeSpaceUnix | long freeSpaceUnix(String path, boolean kb, boolean posix) throws IOException(Code) | | Find free space on the *nix platform using the 'df' command.
Parameters: path - the path to get free space for Parameters: kb - whether to normalize to kilobytes Parameters: posix - whether to use the posix standard format flag the amount of free drive space on the volume throws: IOException - if an error occurs |
freeSpaceWindows | long freeSpaceWindows(String path) throws IOException(Code) | | Find free space on the Windows platform using the 'dir' command.
Parameters: path - the path to get free space for, including the colon the amount of free drive space on the drive throws: IOException - if an error occurs |
openProcess | Process openProcess(String[] cmdAttribs) throws IOException(Code) | | Opens the process to the operating system.
Parameters: cmdAttribs - the command line parameters the process throws: IOException - if an error occurs |
parseBytes | long parseBytes(String freeSpace, String path) throws IOException(Code) | | Parses the bytes from a string.
Parameters: freeSpace - the free space string Parameters: path - the path the number of bytes throws: IOException - if an error occurs |
parseDir | long parseDir(String line, String path) throws IOException(Code) | | Parses the Windows dir response last line
Parameters: line - the line to parse Parameters: path - the path that was sent the number of bytes throws: IOException - if an error occurs |
performCommand | List performCommand(String[] cmdAttribs, int max) throws IOException(Code) | | Performs the os command.
Parameters: cmdAttribs - the command line parameters Parameters: max - The maximum limit for the lines returned the parsed data throws: IOException - if an error occurs |
|
|