|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.tools.ant.util.FileUtils
This class also encapsulates methods which allow Files to be refered to using abstract path names which are translated to native system file paths at runtime as well as copying files or setting there last modification time.
Field Summary | |
static long |
FAT_FILE_TIMESTAMP_GRANULARITY
the granularity of timestamps under FAT |
Constructor Summary | |
protected |
FileUtils()
Empty constructor. |
Method Summary | |
boolean |
contentEquals(java.io.File f1,
java.io.File f2)
Compares the contents of two files. |
void |
copyFile(java.io.File sourceFile,
java.io.File destFile)
Convienence method to copy a file from a source to a destination. |
void |
copyFile(java.io.File sourceFile,
java.io.File destFile,
FilterSetCollection filters)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used. |
void |
copyFile(java.io.File sourceFile,
java.io.File destFile,
FilterSetCollection filters,
boolean overwrite)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used and if source files may overwrite newer destination files. |
void |
copyFile(java.io.File sourceFile,
java.io.File destFile,
FilterSetCollection filters,
boolean overwrite,
boolean preserveLastModified)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used, if source files may overwrite newer destination files and the last modified time of destFile file should be made equal
to the last modified time of sourceFile . |
void |
copyFile(java.io.File sourceFile,
java.io.File destFile,
FilterSetCollection filters,
boolean overwrite,
boolean preserveLastModified,
java.lang.String encoding)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used, if source files may overwrite newer destination files, the last modified time of destFile file should be made
equal to the last modified time of sourceFile and
which character encoding to assume. |
void |
copyFile(java.io.File sourceFile,
java.io.File destFile,
FilterSetCollection filters,
java.util.Vector filterChains,
boolean overwrite,
boolean preserveLastModified,
java.lang.String encoding,
Project project)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used, if filter chains must be used, if source files may overwrite newer destination files and the last modified time of destFile file should be made equal
to the last modified time of sourceFile . |
void |
copyFile(java.io.File sourceFile,
java.io.File destFile,
FilterSetCollection filters,
java.util.Vector filterChains,
boolean overwrite,
boolean preserveLastModified,
java.lang.String inputEncoding,
java.lang.String outputEncoding,
Project project)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used, if filter chains must be used, if source files may overwrite newer destination files and the last modified time of destFile file should be made equal
to the last modified time of sourceFile . |
void |
copyFile(java.lang.String sourceFile,
java.lang.String destFile)
Convienence method to copy a file from a source to a destination. |
void |
copyFile(java.lang.String sourceFile,
java.lang.String destFile,
FilterSetCollection filters)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used. |
void |
copyFile(java.lang.String sourceFile,
java.lang.String destFile,
FilterSetCollection filters,
boolean overwrite)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used and if source files may overwrite newer destination files. |
void |
copyFile(java.lang.String sourceFile,
java.lang.String destFile,
FilterSetCollection filters,
boolean overwrite,
boolean preserveLastModified)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used, if source files may overwrite newer destination files and the last modified time of destFile file should be made equal
to the last modified time of sourceFile . |
void |
copyFile(java.lang.String sourceFile,
java.lang.String destFile,
FilterSetCollection filters,
boolean overwrite,
boolean preserveLastModified,
java.lang.String encoding)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used, if source files may overwrite newer destination files and the last modified time of destFile file should be made equal
to the last modified time of sourceFile . |
void |
copyFile(java.lang.String sourceFile,
java.lang.String destFile,
FilterSetCollection filters,
java.util.Vector filterChains,
boolean overwrite,
boolean preserveLastModified,
java.lang.String encoding,
Project project)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used, if filter chains must be used, if source files may overwrite newer destination files and the last modified time of destFile file should be made equal
to the last modified time of sourceFile . |
void |
copyFile(java.lang.String sourceFile,
java.lang.String destFile,
FilterSetCollection filters,
java.util.Vector filterChains,
boolean overwrite,
boolean preserveLastModified,
java.lang.String inputEncoding,
java.lang.String outputEncoding,
Project project)
Convienence method to copy a file from a source to a destination specifying if token filtering must be used, if filter chains must be used, if source files may overwrite newer destination files and the last modified time of destFile file should be made equal
to the last modified time of sourceFile . |
boolean |
createNewFile(java.io.File f)
Emulation of File.createNewFile for JDK 1.1. |
java.io.File |
createTempFile(java.lang.String prefix,
java.lang.String suffix,
java.io.File parentDir)
Create a temporary file in a given directory. |
boolean |
fileNameEquals(java.io.File f1,
java.io.File f2)
Compares two filenames. |
java.lang.String |
fromURI(java.lang.String uri)
Constructs a file path from a file: URI. |
long |
getFileTimestampGranularity()
|
java.net.URL |
getFileURL(java.io.File file)
Get the URL for a file taking into account # characters |
java.io.File |
getParentFile(java.io.File f)
Emulation of File.getParentFile for JDK 1.1 |
protected java.lang.reflect.Method |
getSetLastModified()
see whether we have a setLastModified method in File and return it. |
boolean |
isSymbolicLink(java.io.File parent,
java.lang.String name)
Checks whether a given file is a symbolic link. |
static FileUtils |
newFileUtils()
Factory method. |
java.io.File |
normalize(java.lang.String path)
"normalize" the given absolute path. |
static java.lang.String |
readFully(java.io.Reader rdr)
Read from reader till EOF |
static java.lang.String |
readFully(java.io.Reader rdr,
int bufferSize)
Read from reader till EOF |
java.lang.String |
removeLeadingPath(java.io.File leading,
java.io.File path)
Removes a leading path from a second path. |
void |
rename(java.io.File from,
java.io.File to)
Renames a file, even if that involves crossing file system boundaries. |
java.io.File |
resolveFile(java.io.File file,
java.lang.String filename)
Interpret the filename as a file relative to the given file - unless the filename already represents an absolute filename. |
void |
setFileLastModified(java.io.File file,
long time)
Calls File.setLastModified(long time) in a Java 1.1 compatible way. |
java.lang.String |
toURI(java.lang.String path)
Constructs a file: URI that represents the
external form of the given pathname. |
java.lang.String |
toVMSPath(java.io.File f)
Returns a VMS String representation of a File object. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final long FAT_FILE_TIMESTAMP_GRANULARITY
Constructor Detail |
protected FileUtils()
Method Detail |
public static FileUtils newFileUtils()
public java.net.URL getFileURL(java.io.File file) throws java.net.MalformedURLException
file
- the file whose URL representation is required.
java.net.MalformedURLException
- if the URL representation cannot be
formed.public void copyFile(java.lang.String sourceFile, java.lang.String destFile) throws java.io.IOException
sourceFile
- Name of file to copy from.
Must not be null
.destFile
- Name of file to copy to.
Must not be null
.
java.io.IOException
- if the copying failspublic void copyFile(java.lang.String sourceFile, java.lang.String destFile, FilterSetCollection filters) throws java.io.IOException
sourceFile
- Name of file to copy from.
Must not be null
.destFile
- Name of file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copy
java.io.IOException
- if the copying failspublic void copyFile(java.lang.String sourceFile, java.lang.String destFile, FilterSetCollection filters, boolean overwrite) throws java.io.IOException
sourceFile
- Name of file to copy from.
Must not be null
.destFile
- Name of file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyoverwrite
- Whether or not the destination file should be
overwritten if it already exists.
java.io.IOException
- if the copying failspublic void copyFile(java.lang.String sourceFile, java.lang.String destFile, FilterSetCollection filters, boolean overwrite, boolean preserveLastModified) throws java.io.IOException
destFile
file should be made equal
to the last modified time of sourceFile
.
sourceFile
- Name of file to copy from.
Must not be null
.destFile
- Name of file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyoverwrite
- Whether or not the destination file should be
overwritten if it already exists.preserveLastModified
- Whether or not the last modified time of
the resulting file should be set to that
of the source file.
java.io.IOException
- if the copying failspublic void copyFile(java.lang.String sourceFile, java.lang.String destFile, FilterSetCollection filters, boolean overwrite, boolean preserveLastModified, java.lang.String encoding) throws java.io.IOException
destFile
file should be made equal
to the last modified time of sourceFile
.
sourceFile
- Name of file to copy from.
Must not be null
.destFile
- Name of file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyoverwrite
- Whether or not the destination file should be
overwritten if it already exists.preserveLastModified
- Whether or not the last modified time of
the resulting file should be set to that
of the source file.encoding
- the encoding used to read and write the files.
java.io.IOException
- if the copying failspublic void copyFile(java.lang.String sourceFile, java.lang.String destFile, FilterSetCollection filters, java.util.Vector filterChains, boolean overwrite, boolean preserveLastModified, java.lang.String encoding, Project project) throws java.io.IOException
destFile
file should be made equal
to the last modified time of sourceFile
.
sourceFile
- Name of file to copy from.
Must not be null
.destFile
- Name of file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyfilterChains
- filterChains to apply during the copy.overwrite
- Whether or not the destination file should be
overwritten if it already exists.preserveLastModified
- Whether or not the last modified time of
the resulting file should be set to that
of the source file.encoding
- the encoding used to read and write the files.project
- the project instance
java.io.IOException
- if the copying failspublic void copyFile(java.lang.String sourceFile, java.lang.String destFile, FilterSetCollection filters, java.util.Vector filterChains, boolean overwrite, boolean preserveLastModified, java.lang.String inputEncoding, java.lang.String outputEncoding, Project project) throws java.io.IOException
destFile
file should be made equal
to the last modified time of sourceFile
.
sourceFile
- Name of file to copy from.
Must not be null
.destFile
- Name of file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyfilterChains
- filterChains to apply during the copy.overwrite
- Whether or not the destination file should be
overwritten if it already exists.preserveLastModified
- Whether or not the last modified time of
the resulting file should be set to that
of the source file.inputEncoding
- the encoding used to read the files.outputEncoding
- the encoding used to write the files.project
- the project instance
java.io.IOException
- if the copying failspublic void copyFile(java.io.File sourceFile, java.io.File destFile) throws java.io.IOException
sourceFile
- the file to copy from.
Must not be null
.destFile
- the file to copy to.
Must not be null
.
java.io.IOException
- if the copying failspublic void copyFile(java.io.File sourceFile, java.io.File destFile, FilterSetCollection filters) throws java.io.IOException
sourceFile
- the file to copy from.
Must not be null
.destFile
- the file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copy
java.io.IOException
- if the copying failspublic void copyFile(java.io.File sourceFile, java.io.File destFile, FilterSetCollection filters, boolean overwrite) throws java.io.IOException
sourceFile
- the file to copy from.
Must not be null
.destFile
- the file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyoverwrite
- Whether or not the destination file should be
overwritten if it already exists.
java.io.IOException
- if the copying failspublic void copyFile(java.io.File sourceFile, java.io.File destFile, FilterSetCollection filters, boolean overwrite, boolean preserveLastModified) throws java.io.IOException
destFile
file should be made equal
to the last modified time of sourceFile
.
sourceFile
- the file to copy from.
Must not be null
.destFile
- the file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyoverwrite
- Whether or not the destination file should be
overwritten if it already exists.preserveLastModified
- Whether or not the last modified time of
the resulting file should be set to that
of the source file.
java.io.IOException
- if the copying failspublic void copyFile(java.io.File sourceFile, java.io.File destFile, FilterSetCollection filters, boolean overwrite, boolean preserveLastModified, java.lang.String encoding) throws java.io.IOException
destFile
file should be made
equal to the last modified time of sourceFile
and
which character encoding to assume.
sourceFile
- the file to copy from.
Must not be null
.destFile
- the file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyoverwrite
- Whether or not the destination file should be
overwritten if it already exists.preserveLastModified
- Whether or not the last modified time of
the resulting file should be set to that
of the source file.encoding
- the encoding used to read and write the files.
java.io.IOException
- if the copying failspublic void copyFile(java.io.File sourceFile, java.io.File destFile, FilterSetCollection filters, java.util.Vector filterChains, boolean overwrite, boolean preserveLastModified, java.lang.String encoding, Project project) throws java.io.IOException
destFile
file should be made equal
to the last modified time of sourceFile
.
sourceFile
- the file to copy from.
Must not be null
.destFile
- the file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyfilterChains
- filterChains to apply during the copy.overwrite
- Whether or not the destination file should be
overwritten if it already exists.preserveLastModified
- Whether or not the last modified time of
the resulting file should be set to that
of the source file.encoding
- the encoding used to read and write the files.project
- the project instance
java.io.IOException
- if the copying failspublic void copyFile(java.io.File sourceFile, java.io.File destFile, FilterSetCollection filters, java.util.Vector filterChains, boolean overwrite, boolean preserveLastModified, java.lang.String inputEncoding, java.lang.String outputEncoding, Project project) throws java.io.IOException
destFile
file should be made equal
to the last modified time of sourceFile
.
sourceFile
- the file to copy from.
Must not be null
.destFile
- the file to copy to.
Must not be null
.filters
- the collection of filters to apply to this copyfilterChains
- filterChains to apply during the copy.overwrite
- Whether or not the destination file should be
overwritten if it already exists.preserveLastModified
- Whether or not the last modified time of
the resulting file should be set to that
of the source file.inputEncoding
- the encoding used to read the files.outputEncoding
- the encoding used to write the files.project
- the project instance
java.io.IOException
- if the copying failsprotected final java.lang.reflect.Method getSetLastModified()
public void setFileLastModified(java.io.File file, long time) throws BuildException
file
- the file whose modified time is to be settime
- the time to which the last modified time is to be set.
BuildException
- if the time cannot be set.public java.io.File resolveFile(java.io.File file, java.lang.String filename)
file
- the "reference" file for relative paths. This
instance must be an absolute file and must not contain
"./" or "../" sequences (same for \ instead
of /). If it is null, this call is equivalent to
new java.io.File(filename)
.filename
- a file name
public java.io.File normalize(java.lang.String path)
This includes:
File#getCanonicalPath()
it specifically doesn't
resolve symbolic links.
path
- the path to be normalized
java.lang.NullPointerException
- if the file path is
equal to null.public java.lang.String toVMSPath(java.io.File f)
File
object.
This is useful since the JVM by default internally converts VMS paths
to Unix style.
The returned String is always an absolute path.
f
- The File
to get the VMS path for.
f
.public java.io.File createTempFile(java.lang.String prefix, java.lang.String suffix, java.io.File parentDir)
The file denoted by the returned abstract pathname did not exist before this method was invoked, any subsequent invocation of this method will yield a different file name.
This method is different to File.createTempFile of JDK 1.2 as it doesn't create the file itself. It uses the location pointed to by java.io.tmpdir when the parentDir attribute is null.
parentDir
- Directory to create the temporary file in -
current working directory will be assumed if this parameter is
null.
public boolean contentEquals(java.io.File f1, java.io.File f2) throws java.io.IOException
simple but sub-optimal comparision algorithm. written for working rather than fast. Better would be a block read into buffers followed by long comparisions apart from the final 1-7 bytes.
f1
- the file whose content is to be compared.f2
- the other file whose content is to be compared.
java.io.IOException
- if the files cannot be read.public java.io.File getParentFile(java.io.File f)
f
- the file whose parent is required.
public static final java.lang.String readFully(java.io.Reader rdr) throws java.io.IOException
rdr
- the reader from which to read.
java.io.IOException
- if the contents could not be read out from the
reader.public static final java.lang.String readFully(java.io.Reader rdr, int bufferSize) throws java.io.IOException
rdr
- the reader from which to read.bufferSize
- the buffer size to use when reading
java.io.IOException
- if the contents could not be read out from the
reader.public boolean createNewFile(java.io.File f) throws java.io.IOException
This method does not guarantee that the operation is atomic.
f
- the file to be created
java.io.IOException
public boolean isSymbolicLink(java.io.File parent, java.lang.String name) throws java.io.IOException
It doesn't really test for symbolic links but whether the canonical and absolute paths of the file are identical - this may lead to false positives on some platforms.
parent
- the parent directory of the file to testname
- the name of the file to test.
java.io.IOException
public java.lang.String removeLeadingPath(java.io.File leading, java.io.File path)
leading
- The leading path, must not be null, must be absolute.path
- The path to remove from, must not be null, must be absolute.
public java.lang.String toURI(java.lang.String path)
file:
URI that represents the
external form of the given pathname.
Will be an absolute URI if the given path is absolute.
This code doesn't handle non-ASCII characters properly.
path
- the path in the local file system
public java.lang.String fromURI(java.lang.String uri)
file:
URI.
Will be an absolute path if the given URI is absolute.
Swallows '%' that are not followed by two characters, doesn't deal with non-ASCII characters.
uri
- the URI designating a file in the local filesystem.
public boolean fileNameEquals(java.io.File f1, java.io.File f2)
Unlike java.io.File#equals this method will try to compare the absolute paths and "normalize" the filenames before comparing them.
f1
- the file whose name is to be compared.f2
- the other file whose name is to be compared.
public void rename(java.io.File from, java.io.File to) throws java.io.IOException
This will remove to
(if it exists), ensure that
to
's parent directory exists and move
from
, which involves deleting from
as
well.
from
- the file to moveto
- the new file name
java.io.IOException
- if anything bad happens during this
process. Note that to
may have been deleted
already when this happens.public long getFileTimestampGranularity()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |