Class FileUtilities
- java.lang.Object
-
- ptolemy.util.FileUtilities
-
public class FileUtilities extends java.lang.ObjectA collection of utilities for manipulating files These utilities do not depend on any other ptolemy.* packages.- Since:
- Ptolemy II 4.0
-
-
Field Summary
Fields Modifier and Type Field and Description static java.io.BufferedReaderSTD_INStandard in as a reader, which will be non-null only after a call to openForReading("System.in").static java.io.PrintWriterSTD_OUTStandard out as a writer, which will be non-null only after a call to openForWriting("System.out").
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static booleanbinaryCopyURLToFile(java.net.URL sourceURL, java.io.File destinationFile)Copy sourceURL to destinationFile without doing any byte conversion.static voidextractJarFile(java.lang.String jarFileName, java.lang.String directoryName)Extract a jar file into a directory.static voidmain(java.lang.String[] args)Extract the contents of a jar file.static java.io.FilenameToFile(java.lang.String name, java.net.URI base)Given a file name or URL, construct a java.io.File object that refers to the file name or URL.static java.net.URLnameToURL(java.lang.String name, java.net.URI baseDirectory, java.lang.ClassLoader classLoader)Given a file or URL name, return as a URL.static java.io.BufferedReaderopenForReading(java.lang.String name, java.net.URI base, java.lang.ClassLoader classLoader)Open the specified file for reading.static java.io.WriteropenForWriting(java.lang.String name, java.net.URI base, boolean append)Open the specified file for writing or appending.
-
-
-
Field Detail
-
STD_IN
public static java.io.BufferedReader STD_IN
Standard in as a reader, which will be non-null only after a call to openForReading("System.in").
-
STD_OUT
public static java.io.PrintWriter STD_OUT
Standard out as a writer, which will be non-null only after a call to openForWriting("System.out").
-
-
Method Detail
-
binaryCopyURLToFile
public static boolean binaryCopyURLToFile(java.net.URL sourceURL, java.io.File destinationFile) throws java.io.IOExceptionCopy sourceURL to destinationFile without doing any byte conversion.- Parameters:
sourceURL- The source URLdestinationFile- The destination File.- Returns:
- true if the file was copied, false if the file was not copied because the sourceURL and the destinationFile refer to the same file.
- Throws:
java.io.IOException- If the source file does not exist.
-
extractJarFile
public static void extractJarFile(java.lang.String jarFileName, java.lang.String directoryName) throws java.io.IOExceptionExtract a jar file into a directory. This is a trivial implementation of thejar -xfcommand.- Parameters:
jarFileName- The name of the jar file to extractdirectoryName- The name of the directory. If this argument is null, then the files are extracted in the current directory.- Throws:
java.io.IOException- If the jar file cannot be opened, or if there are problems extracting the contents of the jar file
-
main
public static void main(java.lang.String[] args)
Extract the contents of a jar file.- Parameters:
args- An array of arguments. The first argument names the jar file to be extracted. The first argument is required. The second argument names the directory in which to extract the files from the jar file. The second argument is optional.
-
nameToFile
public static java.io.File nameToFile(java.lang.String name, java.net.URI base)Given a file name or URL, construct a java.io.File object that refers to the file name or URL. This method first attempts to directly use the file name to construct the File. If the resulting File is a relative pathname, then it is resolved relative to the specified base URI, if there is one. If there is no such base URI, then it simply returns the relative File object. See the java.io.File documentation for a details about relative and absolute pathnames.The file need not exist for this method to succeed. Thus, this method can be used to determine whether a file with a given name exists, prior to calling openForWriting(), for example.
This method is similar to
nameToURL(String, URI, ClassLoader)except that in this method, the file or URL must be readable. Usually, this method is use for write a file andnameToURL(String, URI, ClassLoader)is used for reading.- Parameters:
name- The file name or URL.base- The base for relative URLs.- Returns:
- A File, or null if the filename argument is null or an empty string.
- See Also:
nameToURL(String, URI, ClassLoader)
-
nameToURL
public static java.net.URL nameToURL(java.lang.String name, java.net.URI baseDirectory, java.lang.ClassLoader classLoader) throws java.io.IOExceptionGiven a file or URL name, return as a URL. If the file name is relative, then it is interpreted as being relative to the specified base directory. If the name begins with "xxxxxxCLASSPATHxxxxxx" or "$CLASSPATH" then search for the file relative to the classpath.Note that "xxxxxxCLASSPATHxxxxxx" is the value of the globally defined constant $CLASSPATH available in the Ptolemy II expression language.
If no file is found, then throw an exception.
This method is similar to
nameToFile(String, URI)except that in this method, the file or URL must be readable. Usually, this method is use for reading a file and is used for writingnameToFile(String, URI).- Parameters:
name- The name of a file or URL.baseDirectory- The base directory for relative file names, or null to specify none.classLoader- The class loader to use to locate system resources, or null to use the system class loader that was used to load this class.- Returns:
- A URL, or null if the name is null or the empty string.
- Throws:
java.io.IOException- If the file cannot be read, or if the file cannot be represented as a URL (e.g. System.in), or the name specification cannot be parsed.- See Also:
nameToFile(String, URI)
-
openForReading
public static java.io.BufferedReader openForReading(java.lang.String name, java.net.URI base, java.lang.ClassLoader classLoader) throws java.io.IOExceptionOpen the specified file for reading. If the specified name is "System.in", then a reader from standard in is returned. If the name begins with "$CLASSPATH" or "xxxxxxCLASSPATHxxxxxx", then the name is passed tonameToURL(String, URI, ClassLoader)If the file name is not absolute, the it is assumed to be relative to the specified base URI.- Parameters:
name- File name.base- The base URI for relative references.classLoader- The class loader to use to locate system resources, or null to use the system class loader that was used to load this class.- Returns:
- If the name is null or the empty string, then null is returned, otherwise a buffered reader is returned.
- Throws:
java.io.IOException- If the file cannot be opened.- See Also:
nameToURL(String, URI, ClassLoader)
-
openForWriting
public static java.io.Writer openForWriting(java.lang.String name, java.net.URI base, boolean append) throws java.io.IOExceptionOpen the specified file for writing or appending. If the specified name is "System.out", then a writer to standard out is returned; otherwise, pass the name and base tonameToFile(String, URI)and create a file writer. If the file does not exist, then create it. If the file name is not absolute, the it is assumed to be relative to the specified base directory. If permitted, this method will return a Writer that will simply overwrite the contents of the file. It is up to the user of this method to check whether this is OK (by first callingnameToFile(String, URI)and calling exists() on the returned value).- Parameters:
name- File name.base- The base URI for relative references.append- If true, then append to the file rather than overwriting.- Returns:
- If the name is null or the empty string, then null is returned, otherwise a writer is returned.
- Throws:
java.io.IOException- If the file cannot be opened or created.
-
-
DMelt 3.0 © DataMelt by jWork.ORG