Class FileDeleteStrategy

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

public class FileDeleteStrategy extends Object
Strategy for deleting files.

There is more than one way to delete a file. You may want to limit access to certain directories, to only delete directories if they are empty, or maybe to force deletion.

This class captures the strategy to use and is designed for user subclassing.

Since:
1.3
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final FileDeleteStrategy
    The singleton instance for forced file deletion, which always deletes, even if the file represents a non-empty directory.
    static final FileDeleteStrategy
    The singleton instance for normal file deletion, which does not permit the deletion of directories that are not empty.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    delete(File fileToDelete)
    Deletes the file object, which may be a file or a directory.
    boolean
    deleteQuietly(File fileToDelete)
    Deletes the file object, which may be a file or a directory.
    Gets a string describing the delete strategy.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • NORMAL

      public static final FileDeleteStrategy NORMAL
      The singleton instance for normal file deletion, which does not permit the deletion of directories that are not empty.
    • FORCE

      public static final FileDeleteStrategy FORCE
      The singleton instance for forced file deletion, which always deletes, even if the file represents a non-empty directory.
  • Method Details

    • delete

      public void delete(File fileToDelete) throws IOException
      Deletes the file object, which may be a file or a directory. If the file does not exist, the method just returns.

      Subclass writers should override doDelete(File), not this method.

      Parameters:
      fileToDelete - the file to delete, not null
      Throws:
      NullPointerException - if the file is null
      IOException - if an error occurs during file deletion
    • deleteQuietly

      public boolean deleteQuietly(File fileToDelete)
      Deletes the file object, which may be a file or a directory. All IOExceptions are caught and false returned instead. If the file does not exist or is null, true is returned.

      Subclass writers should override doDelete(File), not this method.

      Parameters:
      fileToDelete - the file to delete, null returns true
      Returns:
      true if the file was deleted, or there was no such file
    • toString

      public String toString()
      Gets a string describing the delete strategy.
      Overrides:
      toString in class Object
      Returns:
      a string describing the delete strategy