Class Files


  • public class Files
    extends Object
    Utility operations on files.
    Author:
    Abe White
    • Constructor Detail

      • Files

        public Files()
    • Method Detail

      • backup

        public static File backup​(File file,
                                  boolean copy)
        Backup the given file to a new file called <file-name>~. If the file does not exist or a backup could not be created, returns null.
      • revert

        public static File revert​(File backup,
                                  boolean copy)
        Revert the given backup file to the original location. If the given file's name does not end in '~', the '~' is appended before proceeding. If the backup file does not exist or could not be reverted, returns null.
      • getSourceFile

        public static File getSourceFile​(Class cls)
        Return the source file for the given class, or null if the source is not in the CLASSPATH.
      • getClassFile

        public static File getClassFile​(Class cls)
        Return the class file of the given class, or null if the class is in a jar.
      • getPackageFile

        public static File getPackageFile​(File base,
                                          String pkg,
                                          boolean mkdirs)
        Return the file for the given package. If the given base directory matches the given package structure, it will be used as-is. If not, the package structure will be added beneath the base directory. If the base directory is null, the current working directory will be used as the base.
      • getFile

        public static File getFile​(String name,
                                   ClassLoader loader)
        Check the given string for a matching file. The string is first tested to see if it is an existing file path. If it does not represent an existing file, it is checked as a resource name of a file. If no resource exists, then it is interpreted as a path to a file that does not exist yet.
        Parameters:
        name - the file path or resource name
        loader - a class loader to use in resource lookup, or null to use the thread's context loader