Interface TempFileCreationStrategy

  • All Known Implementing Classes:
    DefaultTempFileCreationStrategy

    public interface TempFileCreationStrategy
    Interface used by the TempFile utility class to create temporary files. Classes that implement a TempFileCreationStrategy attempt to handle the cleanup of temporary files. Examples include:
    • DefaultTempFileCreationStrategy deletes temporary files when the JVM exits. This may not be suitable for long-running applications that never shut down the JVM since the list of registered files and disk space usage would grow for as long as the JVM is running. You may wish to implement your own strategy that meets the needs of your situation.
    • A strategy that keeps the n most-recent files, discarding older files on a first-in, first-out basis. A java.util.Deque or org.apache.commons.collections4.queue.CircularFifoQueue may be helpful for achieving this.
    • A strategy that keeps track of every temporary file that has been created by the class or instance and provides a method to explicitly delete the temporary files in the reverse order that they were created. This is the same as DefaultTempFileCreationStrategy, except the strategy class would maintain the list of files to delete rather than or in addition to java.io.DeleteOnExitHook maintaining the list, and the files could be deleted before the JVM exit.
    • A strategy that creates a directory that is deleted on JVM exit. Any files inside the directory do not need to be registered since the entire directory will be deleted at exit. This could be dangerous if files were added to the temporary directory outside of this TempFileCreationStrategy's control. This could be accomplished with createTempDirectory(String) and creating regular (unregistered) files in the temp directory.
    • Method Detail

      • createTempFile

        File createTempFile​(String prefix,
                            String suffix)
                     throws IOException
        Creates a new and empty temporary file.
        Parameters:
        prefix - The prefix to be used to generate the name of the temporary file.
        suffix - The suffix to be used to generate the name of the temporary file.
        Returns:
        The path to the newly created and empty temporary file.
        Throws:
        IOException - If no temporary file could be created.
      • createTempDirectory

        File createTempDirectory​(String prefix)
                          throws IOException
        Creates a new and empty temporary directory.
        Parameters:
        prefix - The directory name to be used to generate the name of the temporary directory.
        Returns:
        The path to the newly created and empty temporary directory.
        Throws:
        IOException - If no temporary directory could be created.
        Since:
        POI 3.15 beta 3.