Class TempFileManager


  • public final class TempFileManager
    extends Object
    Management of temporary files in surefire with support for sub directories of the system's directory of temporary files.
    The File.createTempFile(String, String) API creates rather meaningless file names and only in the system's temp directory.
    This class creates temp files from a prefix, a unique date/timestamp, a short file id and suffix. It also helps you organize temporary files into sub-directories, and thus avoid bloating the temp directory root.
    Apart from that, this class works in much the same way as File.createTempFile(String, String) and File.deleteOnExit(), and can be used as a drop-in replacement.
    Author:
    Markus Spann
    • Method Detail

      • instance

        public static TempFileManager instance​(String subDirName)
        Creates an instance using a subdirectory of the system's temporary directory.
        Parameters:
        subDirName - name of subdirectory
        Returns:
        instance
      • deleteAll

        public void deleteAll()
      • getTempDir

        public File getTempDir()
        Returns the temporary directory or sub-directory under which temporary files are created.
        Returns:
        temporary directory
      • createTempFile

        public File createTempFile​(String prefix,
                                   String suffix)
        Creates a new, uniquely-named temporary file in this object's tempDir with user-defined prefix and suffix (both may be null or empty and won't be trimmed).

        This method behaves similarly to File.createTempFile(String, String) and may be used as a drop-in replacement.
        This method is synchronized to help ensure uniqueness of temporary files.

        Parameters:
        prefix - optional file name prefix
        suffix - optional file name suffix
        Returns:
        file object
      • createTempFile

        public File createTempFile​(String prefix)
      • isDeleteOnExit

        public boolean isDeleteOnExit()
      • setDeleteOnExit

        public void setDeleteOnExit​(boolean deleteOnExit)
        Instructs this file manager to delete its temporary files during JVM shutdown.
        This status can be turned on and off unlike File.deleteOnExit().
        Parameters:
        deleteOnExit - delete the file in a shutdown hook on JVM exit
      • getJavaIoTmpDir

        public static String getJavaIoTmpDir()
        Returns the value of system property java.io.tmpdir, the system's temp directory.
        Returns:
        path to system temp directory