Class PathOperations


  • @ThreadSafe
    public final class PathOperations
    extends Object
    Wraps file operations.
    Author:
    Philip Helger
    • Field Detail

      • DEFAULT_EXCEPTION_ON_DELETE_ROOT

        public static final boolean DEFAULT_EXCEPTION_ON_DELETE_ROOT
        The default value for warning if we're about to delete the root directory.
        See Also:
        Constant Field Values
    • Method Detail

      • isExceptionOnDeleteRoot

        public static boolean isExceptionOnDeleteRoot()
      • setExceptionOnDeleteRoot

        public static void setExceptionOnDeleteRoot​(boolean bExceptionOnDeleteRoot)
      • createDir

        @Nonnull
        public static FileIOError createDir​(@Nonnull
                                            Path aDir)
        Create a new directory. The direct parent directory already needs to exist.
        Parameters:
        aDir - The directory to be created. May not be null.
        Returns:
        A non-null error code.
      • createDirIfNotExisting

        @Nonnull
        public static FileIOError createDirIfNotExisting​(@Nonnull
                                                         Path aDir)
        Create a new directory if it does not exist. The direct parent directory already needs to exist.
        Parameters:
        aDir - The directory to be created if it does not exist. May not be null.
        Returns:
        A non-null error code.
      • createDirRecursive

        @Nonnull
        public static FileIOError createDirRecursive​(@Nonnull
                                                     Path aDir)
        Create a new directory. The parent directories are created if they are missing.
        Parameters:
        aDir - The directory to be created. May not be null.
        Returns:
        A non-null error code.
      • createDirRecursiveIfNotExisting

        @Nonnull
        public static FileIOError createDirRecursiveIfNotExisting​(@Nonnull
                                                                  Path aDir)
        Create a new directory if it does not exist. The direct parent directory already needs to exist.
        Parameters:
        aDir - The directory to be created if it does not exist. May not be null.
        Returns:
        A non-null error code.
        See Also:
        createDirRecursive(Path)
      • deleteDir

        @Nonnull
        public static FileIOError deleteDir​(@Nonnull
                                            Path aDir)
        Delete an existing directory. The directory needs to be empty before it can be deleted.
        Parameters:
        aDir - The directory to be deleted. May not be null.
        Returns:
        A non-null error code.
      • deleteDirIfExisting

        @Nonnull
        public static FileIOError deleteDirIfExisting​(@Nonnull
                                                      Path aDir)
        Delete an existing directory if it is existing. The directory needs to be empty before it can be deleted.
        Parameters:
        aDir - The directory to be deleted. May not be null.
        Returns:
        A non-null error code.
        See Also:
        deleteDir(Path)
      • deleteDirRecursive

        @Nonnull
        public static FileIOError deleteDirRecursive​(@Nonnull
                                                     Path aDir)
        Delete an existing directory including all child objects.
        Parameters:
        aDir - The directory to be deleted. May not be null.
        Returns:
        A non-null error code.
      • deleteDirRecursiveIfExisting

        @Nonnull
        public static FileIOError deleteDirRecursiveIfExisting​(@Nonnull
                                                               Path aDir)
        Delete an existing directory including all child objects if it is existing.
        Parameters:
        aDir - The directory to be deleted. May not be null.
        Returns:
        A non-null error code.
      • deleteFile

        @Nonnull
        public static FileIOError deleteFile​(@Nonnull
                                             Path aFile)
        Delete an existing file.
        Parameters:
        aFile - The file to be deleted. May not be null.
        Returns:
        A non-null error code.
      • deleteFileIfExisting

        @Nonnull
        public static FileIOError deleteFileIfExisting​(@Nonnull
                                                       Path aFile)
        Delete a file if it is existing.
        Parameters:
        aFile - The file to be deleted. May not be null.
        Returns:
        A non-null error code.
      • renameFile

        @Nonnull
        public static FileIOError renameFile​(@Nonnull
                                             Path aSourceFile,
                                             @Nonnull
                                             Path aTargetFile)
        Rename a file.
        Parameters:
        aSourceFile - The original file name. May not be null.
        aTargetFile - The destination file name. May not be null.
        Returns:
        A non-null error code.
      • renameDir

        @Nonnull
        public static FileIOError renameDir​(@Nonnull
                                            Path aSourceDir,
                                            @Nonnull
                                            Path aTargetDir)
        Rename a directory.
        Parameters:
        aSourceDir - The original directory name. May not be null.
        aTargetDir - The destination directory name. May not be null.
        Returns:
        A non-null error code.
      • copyFile

        @Nonnull
        public static FileIOError copyFile​(@Nonnull
                                           Path aSourceFile,
                                           @Nonnull
                                           Path aTargetFile)
        Copies the source file to the target file.
        Parameters:
        aSourceFile - The source file to use. May not be null. Needs to be an existing file.
        aTargetFile - The destination files. May not be null and may not be an existing file.
        Returns:
        A non-null error code.
      • copyDirRecursive

        @Nonnull
        public static FileIOError copyDirRecursive​(@Nonnull
                                                   Path aSourceDir,
                                                   @Nonnull
                                                   Path aTargetDir)
        Copy a directory including all child objects.
        Parameters:
        aSourceDir - The source directory to be copied. May not be null.
        aTargetDir - The destination directory where to be copied. This directory may not be existing. May not be null.
        Returns:
        A non-null error code.