com.aliasi.util
Class Files

java.lang.Object
  extended by com.aliasi.util.Files

public class Files
extends Object

Static utility methods for processing files.

Since:
LingPipe1.0
Version:
3.9.1
Author:
Bob Carpenter

Field Summary
static FileFilter FILES_ONLY_FILE_FILTER
          A file filter that accepts all normal files, as specified by File.isFile().
static FileFilter NON_CVS_DIRECTORY_FILE_FILTER
          A file filter that accepts files that are directories that are not named "CVS", ignoring case.
static File TEMP_DIRECTORY
          Deprecated. Use new File(System.getProperty(TEMP_DIRECTORY_SYS_PROPERTY)) instead.
 
Method Summary
static String baseName(File file)
          Returns prefix of the file's name, defined as the part of the name before the final period, or the whole name if there is no final period.
static void copyFile(File from, File to)
          Copies the contents of one file into another.
static File createTempFile(String fileName)
          Deprecated. Use java.io.File.createTempFile(String,String) instead.
static String extension(File file)
          Returns the suffix of the file's name, defined as the part of the name after the final period, or null if there is no period in the name.
static String fileToURLName(File file)
          Deprecated. Instead of Files.fileToURLName(file) use file.toURI().toURL().toString().
static File makeCleanDir(File file)
          Deprecated. Implement with compound statements in java.io.File.
static File makeCleanDir(File directory, String name)
          Deprecated. Implement with compound statements in java.io.File.
static String prefix(String name)
          Deprecated. Only used as part of baseName(File).
static byte[] readBytesFromFile(File file)
          Returns the array of bytes read from the specified file.
static char[] readCharsFromFile(File file)
          Deprecated. Use readCharsFromFile(file,Strings.UTF8) instead.
static char[] readCharsFromFile(File file, String encoding)
          Reads all of the bytes from the specified file and convert them to a character array using the specified character set.
static String readFromFile(File file)
          Deprecated. Use readFromFile(file,Strings.UTF8) instead.
static String readFromFile(File file, String encoding)
          Reads all of the bytes from the specified file and convert them to a string using the specified character set.
static String[] readLinesFromFile(File file, String encoding)
          Deprecated. Use FileLineReader.readLineArray(File,String) instead.
static Object readObjectFrom(File file)
          Deprecated. Use com.aliasi.util.AbstractExteranlizable.readObject(File) instead.
static int removeDescendants(File file)
          Remove the descendants of the specified directory, but not the directory itself.
static int removeRecursive(File file)
          Removes the specified file and if it is a directory, all contained files.
static Object serializeDeserialize(Serializable in)
          Deprecated. Use com.aliasi.util.AbstractExteranlizable.serializeDeserialize(Serializable) instead.
static String suffix(String name)
          Deprecated. Only used as part of extension(File).
static void writeBytesToFile(byte[] bytes, File file)
          Writes the specified bytes to the specified file.
static void writeCharsToFile(char[] chars, File file)
          Deprecated. Use writeCharsToFile(chars,file,Strings.UTF8) instead.
static void writeCharsToFile(char[] chars, File file, String encoding)
          Writes the characters to the specified file, encoded using the specified character set.
static void writeObjectTo(Serializable object, File file)
          Deprecated. Use AbstractExternalizable.serializeTo(Serializable,File) instead.
static void writeStringToFile(String s, File file)
          Deprecated. Use writeStringToFile(s,file,Strings.UTF8) instead.
static void writeStringToFile(String s, File file, String encoding)
          Writes the string to the specified file, encoded using the specified character set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TEMP_DIRECTORY

@Deprecated
public static final File TEMP_DIRECTORY
Deprecated. Use new File(System.getProperty(TEMP_DIRECTORY_SYS_PROPERTY)) instead.
The temporary directory.


NON_CVS_DIRECTORY_FILE_FILTER

public static final FileFilter NON_CVS_DIRECTORY_FILE_FILTER
A file filter that accepts files that are directories that are not named "CVS", ignoring case.


FILES_ONLY_FILE_FILTER

public static final FileFilter FILES_ONLY_FILE_FILTER
A file filter that accepts all normal files, as specified by File.isFile().

Method Detail

writeBytesToFile

public static void writeBytesToFile(byte[] bytes,
                                    File file)
                             throws IOException
Writes the specified bytes to the specified file.

Parameters:
bytes - Bytes to write to file.
file - File to which characters are written.
Throws:
IOException - If there is an underlying I/O exception.

readBytesFromFile

public static byte[] readBytesFromFile(File file)
                                throws IOException
Returns the array of bytes read from the specified file.

Parameters:
file - File from which to read bytes.
Returns:
Bytes read from the specified file.
Throws:
IOException - If there is an underlying I/O exception.

writeCharsToFile

public static void writeCharsToFile(char[] chars,
                                    File file,
                                    String encoding)
                             throws IOException
Writes the characters to the specified file, encoded using the specified character set.

Parameters:
chars - Characters to write to file.
file - File to which characters are written.
encoding - Character encoding used by file.
Throws:
IOException - If there is an underlying I/O exception.

writeCharsToFile

@Deprecated
public static void writeCharsToFile(char[] chars,
                                               File file)
                             throws IOException
Deprecated. Use writeCharsToFile(chars,file,Strings.UTF8) instead.

Writes the characters to the specified file, encoded using UTF-8.

Parameters:
chars - Characters to write to file.
file - File to which characters are written.
Throws:
IOException - If there is an underlying I/O exception.

writeStringToFile

@Deprecated
public static void writeStringToFile(String s,
                                                File file)
                              throws IOException
Deprecated. Use writeStringToFile(s,file,Strings.UTF8) instead.

Writes the string to the specified file, encoded using UTF-8 Unicode.

Parameters:
s - String to write to file.
file - File to which characters are written.
Throws:
IOException - If there is an underlying I/O exception.

writeStringToFile

public static void writeStringToFile(String s,
                                     File file,
                                     String encoding)
                              throws IOException
Writes the string to the specified file, encoded using the specified character set.

Parameters:
s - String to write to file.
file - File to which characters are written.
encoding - Character set to use for encoding.
Throws:
IOException - If there is an underlying I/O exception.

readCharsFromFile

public static char[] readCharsFromFile(File file,
                                       String encoding)
                                throws IOException
Reads all of the bytes from the specified file and convert them to a character array using the specified character set.

Parameters:
file - File from which to read input.
encoding - Encoding to decode bytes in file.
Returns:
Characters in the file.
Throws:
IOException - If there is an underlying I/O exception.
UnsupportedEncodingException - If the encoding is not supported.
IllegalArgumentException - If the file is longer than the maximum integer value.

readCharsFromFile

@Deprecated
public static char[] readCharsFromFile(File file)
                                throws IOException
Deprecated. Use readCharsFromFile(file,Strings.UTF8) instead.

Reads all of the bytes from the specified file and convert them to a character array using UTF-8 unicode.

Parameters:
file - File from which to read input.
Returns:
Characters in the file.
Throws:
IOException - If there is an underlying I/O exception.

readFromFile

public static String readFromFile(File file,
                                  String encoding)
                           throws IOException
Reads all of the bytes from the specified file and convert them to a string using the specified character set.

Parameters:
file - File from which to read input.
encoding - Encoding to decode bytes in file.
Returns:
Characters in the file.
Throws:
IOException - If there is an underlying I/O exception.
UnsupportedEncodingException - If the encoding is not supported.

readFromFile

@Deprecated
public static String readFromFile(File file)
                           throws IOException
Deprecated. Use readFromFile(file,Strings.UTF8) instead.

Reads all of the bytes from the specified file and convert them to a string using Unicode UTF-8.

Parameters:
file - File from which to read input.
Returns:
Characters in the file.
Throws:
IOException - If there is an underlying I/O exception.

readObjectFrom

@Deprecated
public static Object readObjectFrom(File file)
                             throws ClassNotFoundException,
                                    IOException
Deprecated. Use com.aliasi.util.AbstractExteranlizable.readObject(File) instead.

Reads a serialized object from the specified file.

Parameters:
file - File from which to read object.
Returns:
Object read from file.
Throws:
IOException - If there is an I/O error reading.
ClassNotFoundException - If the serialized object's class is not on the classpath.

writeObjectTo

@Deprecated
public static void writeObjectTo(Serializable object,
                                            File file)
                          throws IOException
Deprecated. Use AbstractExternalizable.serializeTo(Serializable,File) instead.

Writes the specified object to the specified file.

Parameters:
object - Object to write.
file - File to which object is serialized.
Throws:
IOException - If there is an underlying I/O error writing.

prefix

@Deprecated
public static String prefix(String name)
Deprecated. Only used as part of baseName(File).

Returns the name of a file before the final period separator.

Parameters:
name - Name of file.
Returns:
File name's prefix.

suffix

@Deprecated
public static String suffix(String name)
Deprecated. Only used as part of extension(File).

Returns the name of a file after the final period separator.

Parameters:
name - Name of file.
Returns:
File name's suffix.

baseName

public static String baseName(File file)
Returns prefix of the file's name, defined as the part of the name before the final period, or the whole name if there is no final period.

Parameters:
file - File whose name's prefix is returned.
Returns:
Prefix of file.

extension

public static String extension(File file)
Returns the suffix of the file's name, defined as the part of the name after the final period, or null if there is no period in the name.

Returns:
The file name's extension.

removeRecursive

public static int removeRecursive(File file)
Removes the specified file and if it is a directory, all contained files. Returns number of files removed, including specified one.

Parameters:
file - File or directory to remove.
Returns:
Number of files and directories removed.

removeDescendants

public static int removeDescendants(File file)
Remove the descendants of the specified directory, but not the directory itself. Returns number of files removed.

Parameters:
file - File whose descendants are removed.
Returns:
Number of files or directories removed.

makeCleanDir

@Deprecated
public static File makeCleanDir(File directory,
                                           String name)
Deprecated. Implement with compound statements in java.io.File.

Creates a clean directory with the specified name as a subdirectory of the specified directory.

Parameters:
directory - Parent directory of directory to create.
name - Name of directory to create.
Returns:
Directory with specified name that is daughter of specified parent directory.

makeCleanDir

@Deprecated
public static File makeCleanDir(File file)
Deprecated. Implement with compound statements in java.io.File.

Creates a directory in the specified file that has no subdirectories. If the specified file exists as a file, it is removed first. If the specified file is a directory with files or subdireictories, they are removed.

Parameters:
file - File to create as a clean directory.
Returns:
Directory with specified name that is daughter of specified parent directory.

createTempFile

@Deprecated
public static File createTempFile(String fileName)
Deprecated. Use java.io.File.createTempFile(String,String) instead.

Returns a new file with the specified name that is a daughter of the temporary directory TEMP_DIRECTORY. The file will be deleted automicatically when the virtual machine exits.

Parameters:
fileName - Name of file to create.
Returns:
Temporary file with specified name.

fileToURLName

@Deprecated
public static String fileToURLName(File file)
                            throws IOException
Deprecated. Instead of Files.fileToURLName(file) use file.toURI().toURL().toString().

Converts a file to the string representation of its URL, consisting of the URL prefix and a canonical path name.

Warning: This method is deprecated because it does not properly escape illegal URL characters.

Parameters:
file - File to convert to string URL.
Returns:
The string URL corresponding to the specified file.
Throws:
IOException - If there is an exception retrieving the file's canonical path name.

readLinesFromFile

@Deprecated
public static String[] readLinesFromFile(File file,
                                                    String encoding)
                                  throws IOException
Deprecated. Use FileLineReader.readLineArray(File,String) instead.

Returns the lines of a file as an array of strings. The newline characters are removed.

Parameters:
file - Name of file from which to read lines.
encoding - Character set to use to read lines.
Returns:
Array of lines read from file.
Throws:
IOException - If there is an I/O exception opening, closing, or reading from the file.

serializeDeserialize

@Deprecated
public static Object serializeDeserialize(Serializable in)
                                   throws ClassNotFoundException,
                                          IOException
Deprecated. Use com.aliasi.util.AbstractExteranlizable.serializeDeserialize(Serializable) instead.

Serializes the specifies object and returns its deserialized version. This operates in memory by writing to a byte-array backed object output stream and reading from a byte-array backed object input stream.

Parameters:
in - Object to serialize and then deserialize.
Returns:
Deserialized version of serialized version of specified object.
Throws:
IOException - If there is an I/O error while reading or writing.
ClassNotFoundException - If the class for the object being restored cannot be found.

copyFile

public static void copyFile(File from,
                            File to)
                     throws IOException
Copies the contents of one file into another. Even if there is an exception, both file handles will be closed on exit.

Parameters:
from - File from which to copy.
to - File to which to copy.
Throws:
IOException - If there is a read or write error.