Class TempFileManager
- java.lang.Object
-
- org.apache.maven.surefire.api.util.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.
TheFile.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 asFile.createTempFile(String, String)
andFile.deleteOnExit()
, and can be used as a drop-in replacement.- Author:
- Markus Spann
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description File
createTempFile(String prefix)
File
createTempFile(String prefix, String suffix)
Creates a new, uniquely-named temporary file in this object'stempDir
with user-defined prefix and suffix (both may be null or empty and won't be trimmed).void
deleteAll()
static String
getJavaIoTmpDir()
Returns the value of system propertyjava.io.tmpdir
, the system's temp directory.File
getTempDir()
Returns the temporary directory or sub-directory under which temporary files are created.static TempFileManager
instance()
static TempFileManager
instance(File tempDir)
static TempFileManager
instance(String subDirName)
Creates an instance using a subdirectory of the system's temporary directory.boolean
isDeleteOnExit()
void
setDeleteOnExit(boolean deleteOnExit)
Instructs this file manager to delete its temporary files during JVM shutdown.
This status can be turned on and off unlikeFile.deleteOnExit()
.String
toString()
-
-
-
Method Detail
-
instance
public static TempFileManager instance()
-
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
-
instance
public static TempFileManager instance(File tempDir)
-
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'stempDir
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 issynchronized
to help ensure uniqueness of temporary files.- Parameters:
prefix
- optional file name prefixsuffix
- optional file name suffix- Returns:
- file object
-
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 unlikeFile.deleteOnExit()
.- Parameters:
deleteOnExit
- delete the file in a shutdown hook on JVM exit
-
getJavaIoTmpDir
public static String getJavaIoTmpDir()
Returns the value of system propertyjava.io.tmpdir
, the system's temp directory.- Returns:
- path to system temp directory
-
-