Class FileUtils


  • public class FileUtils
    extends Object
    This class provides additional functionality in handling with files. All methods in this class dealing with extensions, expect that an extension is the last part of a file name starting with the dot '.' character.
    Version:
    $Revision$ $Date$
    • Constructor Detail

      • FileUtils

        public FileUtils()
    • Method Detail

      • getExtension

        public static String getExtension​(File file)
        Gets the extension (which always includes a leading dot) of a file.
        Parameters:
        file - the file whose extension is to be extracted.
        Returns:
        the extension string which always includes a leading dot. Returns null if the file has no extension.
      • getExtension

        public static String getExtension​(String path)
        Gets the extension of a file path.
        Parameters:
        path - the file path whose extension is to be extracted.
        Returns:
        the extension string which always includes a leading dot. Returns null if the file path has no extension.
      • getFilenameWithoutExtension

        public static String getFilenameWithoutExtension​(File file)
        Gets the filename without its extension from the given file path.
        Parameters:
        file - the file whose filename is to be extracted.
        Returns:
        the filename without its extension.
      • getFilenameWithoutExtension

        public static String getFilenameWithoutExtension​(String filename)
        Gets the filename without its extension from the given filename.
        Parameters:
        filename - the name of the file whose filename is to be extracted.
        Returns:
        the filename without its extension.
      • exchangeExtension

        public static String exchangeExtension​(String path,
                                               String extension)
        Returns the file string with the given new extension. If the given file string have no extension, the given extension will be added.

        Example1:

         "tie.point.grids\tpg1.hdr" 
        results to
         "tie.point.grids\tpg1.raw" 

        Example2:

         "tie.point.grids\tpg1" 
        results to
         "tie.point.grids\tpg1.raw" 
        Parameters:
        path - the string to change the extension
        extension - the new file extension including a leading dot (e.g. ".raw").
        Throws:
        IllegalArgumentException - if one of the given strings are null or empty.
      • exchangeExtension

        public static File exchangeExtension​(File file,
                                             String extension)
        Returns a file with the given new extension. If the given file have no extension, the given extension will be added.

        Example1:

         "tie.point.grids\tpg1.hdr" 
        results to
         "tie.point.grids\tpg1.raw" 

        Example2:

         "tie.point.grids\tpg1" 
        results to
         "tie.point.grids\tpg1.raw" 
        Parameters:
        file - the file to change the extension
        extension - the new file extension including a leading dot (e.g. ".raw").
        Throws:
        IllegalArgumentException - if one of the parameter strings are null or empty.
      • ensureExtension

        public static String ensureExtension​(String path,
                                             String extension)
        Returns a file with the given extension. If the given path have no extension or the extension are not equal to the given extension, the given extension will be added.

        Example1: param path = example.dim param extension = ".dim"

         "example.dim" 
        results to
         "example.dim" 

        Example2: param path = example param extension = ".dim"

         "example" 
        results to
         "example.dim" 

        Example3: param path = example.lem param extension = ".dim"

         "example.lem" 
        results to
         "example.lem.dim" 
        Parameters:
        path - the string to ensure the extension
        extension - the new file extension including a leading dot (e.g. ".raw").
        Throws:
        IllegalArgumentException - if one of the given strings are null or empty.
      • ensureExtension

        public static File ensureExtension​(File file,
                                           String extension)
        Returns a file with the given extension. If the given file has no extension or the extension is not equal to the given extension, the given extension will be added.

        Example1: param file = example.dim param extension = ".dim"

         "example.dim" 
        results to
         "example.dim" 

        Example2: param file = example param extension = ".dim"

         "example" 
        results to
         "example.dim" 

        Example3: param file = example.lem param extension = ".dim"

         "example.lem" 
        results to
         "example.lem.dim" 
        Parameters:
        file - the file to ensure the extension
        extension - the new file extension including a leading dot (e.g. ".raw").
        Throws:
        IllegalArgumentException - if one of the parameter strings are null or empty.
      • getExtensionDotPos

        public static int getExtensionDotPos​(String path)
      • getFilenameFromPath

        public static String getFilenameFromPath​(String path)
        Retrieves the file name from a complete path. example: "c:/testData/MERIS/meris_test.N1" will be converted to "meris_test.N1"
      • createExtensionFilenameFilter

        public static FilenameFilter createExtensionFilenameFilter​(String extension)
        Creates a file filter which only lets files through which have the given extension.
        See Also:
        FilenameFilter
      • createValidFilename

        public static String createValidFilename​(String name)
        Creates a valid filename for the given source name. The method returns a string which is the given name where each occurence of a character which is not a letter, a digit or one of '_', '-', '.' is replaced by an underscore. The returned string always has the same length as the source name.
        Parameters:
        name - the source name, must not be null
      • getFileAsUrl

        public static URL getFileAsUrl​(File file)
                                throws MalformedURLException
        Gets a normalized URL representation for the given file.

        Unlike the File.toURL() method, this method automatically escapes characters that are illegal in URLs. It converts the given abstract pathname into a URL by first converting it into a URI, via the File.toURI() method, and then converting the URI into a URL via the URI.toURL method. .

        See also the 'Usage Note' of the File.toURL() API documentation.

        Parameters:
        file - the file
        Returns:
        a normalized URL representation
        Throws:
        MalformedURLException
      • getDisplayText

        public static String getDisplayText​(File file,
                                            int maxLength)
      • deleteTree

        public static boolean deleteTree​(File tree)
        Recursively deletes the directory tree.
        Parameters:
        tree - directory to be deleted
        Returns:
        true if and only if the file or directory is successfully deleted; false otherwise
      • getRelativeUri

        public static URI getRelativeUri​(URI rootURI,
                                         File file)
      • toFile

        public static File toFile​(Path path)
        Converts the given path object into a file object. If opposite to Path.toFile(), the method unwraps paths that have a "jar" URI.
        Parameters:
        path - The path.
        Returns:
        The file object.
      • ensureJarURI

        public static URI ensureJarURI​(URI uri)
                                throws IOException
        Ensures that the given URI is a path into a jar file. If the given URI points to a file and ends with '.jar' and starts with 'file:' the given URI is changed. 'jar:' is prepended and '!/' appended to the uri.
        Parameters:
        uri - the uri which shall be corrected
        Returns:
        the corrected URI
        Throws:
        IOException - If the URI could not be converted into a Path