org.tranche.util
Class TempFileUtil

java.lang.Object
  extended by org.tranche.util.TempFileUtil

public class TempFileUtil
extends java.lang.Object

This utility class creates a clean working temporary directory for storing files during runtime. The directory is created only once at initialization, and it can be customized by overriding Java's java.io.tmpdir system property, e.g.:

java -Djava.io.tempdir="/my/temp/directory" org.tranche.Main

The temporary directory will not conflict with another temp dir. File locks are kept and checked when making the directory.

Author:
Jayson Falkner - jfalkner@umich.edu, James "Augie" Hill - augman85@gmail.com, Bryan E. Smith - bryanesmith@gmail.com

Constructor Summary
TempFileUtil()
           
 
Method Summary
static void clear()
           
static java.io.File createTempFileWithName(java.lang.String filename)
          Attempts to create a temporary file with a specific name.
static java.io.File createTemporaryDirectory()
          Create a temporary directory.
static java.io.File createTemporaryDirectory(java.lang.String name)
          Create a temporary directory with a particular name.
static java.io.File createTemporaryFile()
          Create a temporary file.
static java.io.File createTemporaryFile(BigHash fileHash)
          A helper function to make files.
static java.io.File createTemporaryFile(java.lang.String extension)
          Create a temporary file with an arbitrary file extension.
static java.lang.String getTemporaryDirectory()
          Returns the root temporary directory.
static java.io.File getTemporaryFile()
           
static java.io.File getTemporaryFile(java.lang.String extension)
           
static void loadTemporaryDirectory()
           
static void setTemporaryDirectory(java.io.File directory)
          Set the temporary directory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TempFileUtil

public TempFileUtil()
Method Detail

createTemporaryFile

public static final java.io.File createTemporaryFile()

Create a temporary file. File will end with .tmp file extension.

Returns:

createTemporaryFile

public static final java.io.File createTemporaryFile(java.lang.String extension)

Create a temporary file with an arbitrary file extension.

Parameters:
extension - Any arbitrary file extension (e.g., .txt, .pf, etc.)
Returns:

getTemporaryFile

public static final java.io.File getTemporaryFile()

getTemporaryFile

public static final java.io.File getTemporaryFile(java.lang.String extension)

createTemporaryDirectory

public static final java.io.File createTemporaryDirectory()

Create a temporary directory.

Returns:

createTemporaryDirectory

public static final java.io.File createTemporaryDirectory(java.lang.String name)

Create a temporary directory with a particular name.

Parameters:
name -
Returns:

createTempFileWithName

public static final java.io.File createTempFileWithName(java.lang.String filename)
                                                 throws java.io.IOException

Attempts to create a temporary file with a specific name. If file exists, will try to create in another location or throw an IOException so file isn't clobbered.

Parameters:
filename - Only the name of the file -- not the full path. Will be placed in the temp directory.
Returns:
Throws:
java.io.IOException

createTemporaryFile

public static final java.io.File createTemporaryFile(BigHash fileHash)

A helper function to make files.

The file's name depends:

You cannot reliably depend on file name for hash.

Parameters:
fileHash -
Returns:

setTemporaryDirectory

public static void setTemporaryDirectory(java.io.File directory)
                                  throws java.io.IOException

Set the temporary directory. Does some sanity checking.

Mainly used by non-GUI clients (i.e., command-line tools).

Parameters:
directory -
Throws:
java.io.IOException

loadTemporaryDirectory

public static void loadTemporaryDirectory()

getTemporaryDirectory

public static java.lang.String getTemporaryDirectory()

Returns the root temporary directory.

Note that the client should not attempt to create files from this directory directly, but instead should use methods in this class.

Returns:

clear

public static void clear()


This code is free for use both commercially and non-commercially as stated in the project's license