com.pixelmed.utils
Class FileUtilities

java.lang.Object
  extended by com.pixelmed.utils.FileUtilities

public class FileUtilities
extends Object

Various static methods helpful for handling files.


Method Summary
static File getFileFromNameInsensitiveToCaseIfNecessary(String fileName)
          Determine if a file corresponding to the specified name exists, checking for case insensitive variants if necessary.
static ArrayList listFilesRecursively(File initialPath)
          Recursively traverse the specified directory and its sub-directory and produce a list of all the files contained therein, in no particular order.
static String makePathToFileInUsersHomeDirectory(String fileName)
          Given a file name, such as the properties file name, make a path to it in the user's home directory.
static String makeTemporaryFileName()
          Create a temporary filename.
static String readFile(File file)
          Read an entire file into a string.
static String readFile(InputStream stream)
          Read an entire file into a string.
static String readFile(Reader reader)
          Read an entire file into a string.
static String readFile(String filename)
          Read an entire file into a string.
static void renameElseCopyTo(File srcFile, File dstFile)
          Rename a file, if possible, else make a copy of it.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

renameElseCopyTo

public static final void renameElseCopyTo(File srcFile,
                                          File dstFile)
                                   throws IOException

Rename a file, if possible, else make a copy of it.

Parameters:
srcFile - the source
dstFile - the destination
Throws:
IOException - thrown if the copying fails for any reason

listFilesRecursively

public static final ArrayList listFilesRecursively(File initialPath)

Recursively traverse the specified directory and its sub-directory and produce a list of all the files contained therein, in no particular order.

If the path is a file, just return that.

Any security (permission) exceptions are caught and logged to stderr and not propagated.

Parameters:
initialPath - The abstract pathname of the directory to begin searching
Returns:
An ArrayList of abstract pathnames denoting the files found. The ArrayList will be empty if the path is empty or does not exist or if an error occurs.

readFile

public static final String readFile(Reader reader)
                             throws IOException

Read an entire file into a string.

Parameters:
reader - The file reader
Returns:
The contents of the file as a String.
Throws:
If - an IO error occurs.
IOException

readFile

public static final String readFile(InputStream stream)
                             throws IOException

Read an entire file into a string.

Parameters:
stream - The input stream (e.g., from class.getResourceAsStream())
Returns:
The contents of the file as a String.
Throws:
If - an IO error occurs.
IOException

readFile

public static final String readFile(File file)
                             throws IOException

Read an entire file into a string.

Parameters:
file - The file
Returns:
The contents of the file as a String.
Throws:
If - an IO error occurs.
IOException

readFile

public static final String readFile(String filename)
                             throws IOException

Read an entire file into a string.

Parameters:
filename - The file
Returns:
The contents of the file as a String.
Throws:
If - an IO error occurs.
IOException

getFileFromNameInsensitiveToCaseIfNecessary

public static final File getFileFromNameInsensitiveToCaseIfNecessary(String fileName)
                                                              throws FileNotFoundException

Determine if a file corresponding to the specified name exists, checking for case insensitive variants if necessary.

Parameters:
fileName - The name of the file to find
Returns:
A file if found.
Throws:
If - the file cannot be found.
FileNotFoundException

makeTemporaryFileName

public static final String makeTemporaryFileName()

Create a temporary filename.

Returns:
a string that does not include delimiter characters and is unique within this JVM.

makePathToFileInUsersHomeDirectory

public static final String makePathToFileInUsersHomeDirectory(String fileName)

Given a file name, such as the properties file name, make a path to it in the user's home directory.

Parameters:
fileName - the file name to make a path to