Uploaded image for project: 'Commons IO'
  1. Commons IO
  2. IO-276

"FileUtils#deleteDirectoryOnExit(File)" does not work

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 2.2
    • None
    • None
    • Commons IO 1.4

    Description

      I called this method, but the target directory was not deleted.

      The source of this method is as follows.
      ----------
      private static void deleteDirectoryOnExit(File directory) throws IOException {
      if (!directory.exists())

      { return; }

      cleanDirectoryOnExit(directory);
      directory.deleteOnExit();
      }
      ----------
      In other words, this method calls "java.io.File#deleteOnExit" in order of "grandchildren -> children -> parent" for files of the target directory hierarchy.

      There is following mention in javadoc of "java.io.File#deleteOnExit".
      ----------
      Files (or directories) are deleted in the reverse order that they are registered.
      ----------

      Therefore, I think the calling order of "java.io.File#deleteOnExit" should be reverse.

      How will be it?

      Attachments

        1. IO-276-r1201108-patch.txt
          1 kB
          Ron Kuris

        Activity

          People

            Unassigned Unassigned
            nkami nkami
            Votes:
            2 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: