org.apache.commons.io

Class FileSystemUtils



  • public class FileSystemUtilsextends 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:
    1.1
    Version:
    $Id: FileSystemUtils.java 1686747 2015-06-21 18:44:49Z krosenvold $
    • Constructor Summary

      Constructors 
      Constructor and Description
      FileSystemUtils()
      Instances should NOT be constructed in standard programming.
    • Method Summary

      Methods 
      Modifier and TypeMethod and Description
      static longfreeSpace(String path)
      Deprecated. 
      Use freeSpaceKb(String) Deprecated from 1.3, may be removed in 2.0
      static longfreeSpaceKb()
      Returns the disk size of the volume which holds the working directory.
      static longfreeSpaceKb(long timeout)
      Returns the disk size of the volume which holds the working directory.
      static longfreeSpaceKb(String path)
      Returns the free space on a drive or volume in kilobytes by invoking the command line.
      static longfreeSpaceKb(String path, long timeout)
      Returns the free space on a drive or volume in kilobytes by invoking the command line.
    • Constructor Detail

      • FileSystemUtils

        public FileSystemUtils()
        Instances should NOT be constructed in standard programming.
    • Method Detail

      • freeSpace

        @Deprecatedpublic 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:
        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:
        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 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:
        IllegalArgumentException - if the path is invalid
        IllegalStateException - if an error occurred in initialisation
        IOException - if an error occurs when finding the free space
        Since:
        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:
        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 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:
        IllegalStateException - if an error occurred in initialisation
        IOException - if an error occurs when finding the free space
        Since:
        2.0

Copyright © 2002–2016 The Apache Software Foundation. All rights reserved.



NOTHING
NOTHING
Add the Maven Dependecy to your project: maven dependecy for com.amazonaws : aws-java-sdk : 1.3.14