Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.io
Class FileSystemUtils

    java.lang.Object
      org.apache.commons.io.FileSystemUtils

    public class FileSystemUtils

extends Object

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:
  Commons IO 1.1
Version:
  $Id: FileSystemUtils.java 1169528 2011-09-11 20:43:42Z ggregory $
Author:
  Frank W. Zammetti, Stephen Colebourne, Thomas Ledoux, James Urie, Magnus Grimsell, Thomas Ledoux

Constructor Summary
`FileSystemUtils()` Instances should NOT be constructed in standard programming.

Method Summary
`static long` | `freeSpace(String path)` Deprecated. Use freeSpaceKb(String) Deprecated from 1.3, may be removed in 2.0
`static long` | `freeSpaceKb()` Returns the disk size of the volume which holds the working directory.
`static long` | `freeSpaceKb(long timeout)` Returns the disk size of the volume which holds the working directory.
`static long` | `freeSpaceKb(String path)` Returns the free space on a drive or volume in kilobytes by invoking the command line.
`static long` | `freeSpaceKb(String path, long timeout)` Returns the free space on a drive or volume in kilobytes by invoking the command line.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FileSystemUtils

    public FileSystemUtils()

  Instances should NOT be constructed in standard programming.

Method Detail

### freeSpace

    @Deprecated
    public static long freeSpace(String path)
                          throws IOException

  Deprecated. Use freeSpaceKb(String) Deprecated from 1.3, may be removed in 2.0

  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 `freeSpaceKb(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:
    `IllegalArgumentException` - if the path is invalid
    `IllegalStateException` - if an error occurred in initialisation
    `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

  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
  Returns:
    the amount of free drive space on the drive or volume in kilobytes
  Throws:
    `IllegalArgumentException` - if the path is invalid
    `IllegalStateException` - if an error occurred in initialisation
    `IOException` - if an error occurs when finding the free space
  Since:
    Commons IO 1.2, enhanced OS support in 1.3

### freeSpaceKb

    public static long freeSpaceKb(String path,
                                   long timeout)
                            throws IOException

  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
    `timeout` - The timout 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:
    `IllegalArgumentException` - if the path is invalid
    `IllegalStateException` - if an error occurred in initialisation
    `IOException` - if an error occurs when finding the free space
  Since:
    Commons IO 2.0

### freeSpaceKb

    public static long freeSpaceKb()
                            throws IOException

  Returns the disk size of the volume which holds the working directory.

  Identical to:

       freeSpaceKb(new File(".").getAbsolutePath())

  Returns:
    the amount of free drive space on the drive or volume in kilobytes
  Throws:
    `IllegalStateException` - if an error occurred in initialisation
    `IOException` - if an error occurs when finding the free space
  Since:
    Commons IO 2.0

### freeSpaceKb

    public static long freeSpaceKb(long timeout)
                            throws IOException

  Returns the disk size of the volume which holds the working directory.

  Identical to:

       freeSpaceKb(new File(".").getAbsolutePath())

  Parameters:
    `timeout` - The timout 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:
    `IllegalStateException` - if an error occurred in initialisation
    `IOException` - if an error occurs when finding the free space
  Since:
    Commons IO 2.0

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2011 The Apache Software Foundation. All Rights Reserved.