Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tools.ant.util
Class FileUtils

    java.lang.Object
      |
      +--org.apache.tools.ant.util.FileUtils

public class FileUtils
extends java.lang.Object

This class also encapsulates methods which allow Files to be referred to using abstract path names which are translated to native system file paths at runtime as well as copying files or setting their last modification time.

Field Summary
`static long` | `FAT_FILE_TIMESTAMP_GRANULARITY` The granularity of timestamps under FAT.
`static long` | `UNIX_FILE_TIMESTAMP_GRANULARITY` The granularity of timestamps under Unix.

Constructor Summary
`protected` | `FileUtils()` Empty constructor.

Method Summary
`static void` | `close(java.io.InputStream device)` Close a stream without throwing any exception if something went wrong.
`static void` | `close(java.io.OutputStream device)` Close a stream without throwing any exception if something went wrong.
`static void` | `close(java.io.Reader device)` Close a stream without throwing any exception if something went wrong.
`static void` | `close(java.io.Writer device)` Close a Writer without throwing any exception if something went wrong.
`boolean` | `contentEquals(java.io.File f1, java.io.File f2)` Compares the contents of two files.
`boolean` | `contentEquals(java.io.File f1, java.io.File f2, boolean textfile)` Compares the contents of two files.
`void` | `copyFile(java.io.File sourceFile, java.io.File destFile)` Convenience method to copy a file from a source to a destination.
`void` | `copyFile(java.io.File sourceFile, java.io.File destFile, FilterSetCollection filters)` Convenience 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)` Convenience 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)` Convenience 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)` Convenience 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)` Convenience 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)` Convenience 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)` Convenience method to copy a file from a source to a destination.
`void` | `copyFile(java.lang.String sourceFile, java.lang.String destFile, FilterSetCollection filters)` Convenience 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)` Convenience 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)` Convenience 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)` Convenience 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)` Convenience 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)` Convenience 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)` This was originally an emulation of File.createNewFile for JDK 1.1, but it is now implemented using that method (Ant 1.6.3 onwards).
`boolean` | `createNewFile(java.io.File f, boolean mkdirs)` Create a new file, optionally creating parent directories.
`java.io.File` | `createTempFile(java.lang.String prefix, java.lang.String suffix, java.io.File parentDir)` Create a temporary file in a given directory.
`static void` | `delete(java.io.File file)` Delete the file with `File.delete()` if the argument is not null.
`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()` Get the granularity of file timestamps.
`java.net.URL` | `getFileURL(java.io.File file)` Get the URL for a file taking into account # characters.
`static FileUtils` | `getFileUtils()` Method to retrieve The FileUtils, which is shared by all users of this method.
`java.io.File` | `getParentFile(java.io.File f)` This was originally an emulation of `File.getParentFile()` for JDK 1.1, but it is now implemented using that method (Ant 1.6.3 onwards).
`static boolean` | `isAbsolutePath(java.lang.String filename)` Verifies that the specified filename represents an absolute path.
`boolean` | `isSymbolicLink(java.io.File parent, java.lang.String name)` Checks whether a given file is a symbolic link.
`boolean` | `isUpToDate(java.io.File source, java.io.File dest)` Returns true if the source is older than the dest.
`boolean` | `isUpToDate(java.io.File source, java.io.File dest, long granularity)` Returns true if the source is older than the dest.
`boolean` | `isUpToDate(long sourceTime, long destTime)` Compare two timestamps for being up to date using the current granularity.
`boolean` | `isUpToDate(long sourceTime, long destTime, long granularity)` Compare two timestamps for being up to date using the specified granularity.
`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).
`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

### FAT_FILE_TIMESTAMP_GRANULARITY

    public static final long FAT_FILE_TIMESTAMP_GRANULARITY

  The granularity of timestamps under FAT.

  See Also:
    Constant Field Values

### UNIX_FILE_TIMESTAMP_GRANULARITY

    public static final long UNIX_FILE_TIMESTAMP_GRANULARITY

  The granularity of timestamps under Unix.

  See Also:
    Constant Field Values

Constructor Detail

### FileUtils

    protected FileUtils()

  Empty constructor.

Method Detail

### newFileUtils

    public static FileUtils newFileUtils()

  Factory method.

  Returns:
    a new instance of FileUtils.

### getFileUtils

    public static FileUtils getFileUtils()

  Method to retrieve The FileUtils, which is shared by all users of this method.

  Returns:
    an instance of FileUtils.
  Since:
    Ant 1.6.3

### getFileURL

    public java.net.URL getFileURL(java.io.File file)
                            throws java.net.MalformedURLException

  Get the URL for a file taking into account # characters.

  Parameters:
    `file` - the file whose URL representation is required.
  Returns:
    The FileURL value.
  Throws:
    `java.net.MalformedURLException` - if the URL representation cannot be formed.

### copyFile

    public void copyFile(java.lang.String sourceFile,
                         java.lang.String destFile)
                  throws java.io.IOException

  Convenience method to copy a file from a source to a destination. No filtering is performed.

  Parameters:
    `sourceFile` - Name of file to copy from. Must not be `null`.
    `destFile` - Name of file to copy to. Must not be `null`.
  Throws:
    `java.io.IOException` - if the copying fails.

### copyFile

    public void copyFile(java.lang.String sourceFile,
                         java.lang.String destFile,
                         FilterSetCollection filters)
                  throws java.io.IOException

  Convenience method to copy a file from a source to a destination specifying if token filtering must be used.

  Parameters:
    `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.
  Throws:
    `java.io.IOException` - if the copying fails.

### copyFile

    public void copyFile(java.lang.String sourceFile,
                         java.lang.String destFile,
                         FilterSetCollection filters,
                         boolean overwrite)
                  throws java.io.IOException

  Convenience 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.

  Parameters:
    `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.
    `overwrite` - Whether or not the destination file should be overwritten if it already exists.
  Throws:
    `java.io.IOException` - if the copying fails.

### copyFile

    public void copyFile(java.lang.String sourceFile,
                         java.lang.String destFile,
                         FilterSetCollection filters,
                         boolean overwrite,
                         boolean preserveLastModified)
                  throws java.io.IOException

  Convenience 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`.

  Parameters:
    `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.
    `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.
  Throws:
    `java.io.IOException` - if the copying fails.

### copyFile

    public void copyFile(java.lang.String sourceFile,
                         java.lang.String destFile,
                         FilterSetCollection filters,
                         boolean overwrite,
                         boolean preserveLastModified,
                         java.lang.String encoding)
                  throws java.io.IOException

  Convenience 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`.

  Parameters:
    `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.
    `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.
  Throws:
    `java.io.IOException` - if the copying fails.
  Since:
    Ant 1.5

### copyFile

    public 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

  Convenience 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`.

  Parameters:
    `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.
    `filterChains` - 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.
  Throws:
    `java.io.IOException` - if the copying fails.
  Since:
    Ant 1.5

### copyFile

    public 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

  Convenience 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`.

  Parameters:
    `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.
    `filterChains` - 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.
  Throws:
    `java.io.IOException` - if the copying fails.
  Since:
    Ant 1.6

### copyFile

    public void copyFile(java.io.File sourceFile,
                         java.io.File destFile)
                  throws java.io.IOException

  Convenience method to copy a file from a source to a destination. No filtering is performed.

  Parameters:
    `sourceFile` - the file to copy from. Must not be `null`.
    `destFile` - the file to copy to. Must not be `null`.
  Throws:
    `java.io.IOException` - if the copying fails.

### copyFile

    public void copyFile(java.io.File sourceFile,
                         java.io.File destFile,
                         FilterSetCollection filters)
                  throws java.io.IOException

  Convenience method to copy a file from a source to a destination specifying if token filtering must be used.

  Parameters:
    `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.
  Throws:
    `java.io.IOException` - if the copying fails.

### copyFile

    public void copyFile(java.io.File sourceFile,
                         java.io.File destFile,
                         FilterSetCollection filters,
                         boolean overwrite)
                  throws java.io.IOException

  Convenience 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.

  Parameters:
    `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.
    `overwrite` - Whether or not the destination file should be overwritten if it already exists.
  Throws:
    `java.io.IOException` - if the copying fails.

### copyFile

    public void copyFile(java.io.File sourceFile,
                         java.io.File destFile,
                         FilterSetCollection filters,
                         boolean overwrite,
                         boolean preserveLastModified)
                  throws java.io.IOException

  Convenience 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`.

  Parameters:
    `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.
    `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.
  Throws:
    `java.io.IOException` - if the copying fails.

### copyFile

    public void copyFile(java.io.File sourceFile,
                         java.io.File destFile,
                         FilterSetCollection filters,
                         boolean overwrite,
                         boolean preserveLastModified,
                         java.lang.String encoding)
                  throws java.io.IOException

  Convenience 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.

  Parameters:
    `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.
    `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.
  Throws:
    `java.io.IOException` - if the copying fails.
  Since:
    Ant 1.5

### copyFile

    public 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

  Convenience 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`.

  Parameters:
    `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.
    `filterChains` - 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.
  Throws:
    `java.io.IOException` - if the copying fails.
  Since:
    Ant 1.5

### copyFile

    public 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

  Convenience 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`.

  Parameters:
    `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.
    `filterChains` - 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.
  Throws:
    `java.io.IOException` - if the copying fails.
  Since:
    Ant 1.6

### setFileLastModified

    public void setFileLastModified(java.io.File file,
                                    long time)

  Calls File.setLastModified(long time). Originally written to to dynamically bind to that call on Java1.2+.

  Parameters:
    `file` - the file whose modified time is to be set
    `time` - the time to which the last modified time is to be set. if this is -1, the current time is used.

### resolveFile

    public 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.

  Parameters:
    `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.
  Returns:
    an absolute file that doesn't contain "./" or "../" sequences and uses the correct separator for the current platform.

### isAbsolutePath

    public static boolean isAbsolutePath(java.lang.String filename)

  Verifies that the specified filename represents an absolute path.

  Parameters:
    `filename` - the filename to be checked.
  Returns:
    true if the filename represents an absolute path.

### normalize

    public java.io.File normalize(java.lang.String path)

  "Normalize" the given absolute path.

  This includes:

  - Uppercase the drive letter if there is one.
  - Remove redundant slashes after the drive spec.
  - Resolve all ./, .\, ../ and ..\ sequences.
  - DOS style paths that start with a drive letter will have \ as the separator.
  Unlike `File#getCanonicalPath()` this method specifically does not resolve symbolic links.

  Parameters:
    `path` - the path to be normalized.
  Returns:
    the normalized version of the path.
  Throws:
    `java.lang.NullPointerException` - if the file path is equal to null.

### toVMSPath

    public java.lang.String toVMSPath(java.io.File f)

  Returns a VMS String representation of a `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.

  Parameters:
    `f` - The `File` to get the VMS path for.
  Returns:
    The absolute VMS path to `f`.

### createTempFile

    public java.io.File createTempFile(java.lang.String prefix,
                                       java.lang.String suffix,
                                       java.io.File parentDir)

  Create a temporary file in a given directory.

  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.

  The filename is prefixNNNNNsuffix where NNNN is a random number.

  This method is different from 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.

  Parameters:
    `prefix` - prefix before the random number.
    `suffix` - file extension; include the '.'.
    `parentDir` - Directory to create the temporary file in; java.io.tmpdir used if not specified.
  Returns:
    a File reference to the new temporary file.
  Since:
    Ant 1.5

### contentEquals

    public boolean contentEquals(java.io.File f1,
                                 java.io.File f2)
                          throws java.io.IOException

  Compares the contents of two files.

  Parameters:
    `f1` - the file whose content is to be compared.
    `f2` - the other file whose content is to be compared.
  Returns:
    true if the content of the files is the same.
  Throws:
    `java.io.IOException` - if the files cannot be read.

### contentEquals

    public boolean contentEquals(java.io.File f1,
                                 java.io.File f2,
                                 boolean textfile)
                          throws java.io.IOException

  Compares the contents of two files.

  Parameters:
    `f1` - the file whose content is to be compared.
    `f2` - the other file whose content is to be compared.
    `textfile` - true if the file is to be treated as a text file and differences in kind of line break are to be ignored.
  Returns:
    true if the content of the files is the same.
  Throws:
    `java.io.IOException` - if the files cannot be read.
  Since:
    Ant 1.6.3

### getParentFile

    public java.io.File getParentFile(java.io.File f)

  This was originally an emulation of `File.getParentFile()` for JDK 1.1, but it is now implemented using that method (Ant 1.6.3 onwards).

  Parameters:
    `f` - the file whose parent is required.
  Returns:
    the given file's parent, or null if the file does not have a parent.
  Since:
    1.10

### readFully

    public static final java.lang.String readFully(java.io.Reader rdr)
                                            throws java.io.IOException

  Read from reader till EOF.

  Parameters:
    `rdr` - the reader from which to read.
  Returns:
    the contents read out of the given reader.
  Throws:
    `java.io.IOException` - if the contents could not be read out from the reader.

### readFully

    public static final java.lang.String readFully(java.io.Reader rdr,
                                                   int bufferSize)
                                            throws java.io.IOException

  Read from reader till EOF.

  Parameters:
    `rdr` - the reader from which to read.
    `bufferSize` - the buffer size to use when reading.
  Returns:
    the contents read out of the given reader.
  Throws:
    `java.io.IOException` - if the contents could not be read out from the reader.

### createNewFile

    public boolean createNewFile(java.io.File f)
                          throws java.io.IOException

  This was originally an emulation of File.createNewFile for JDK 1.1, but it is now implemented using that method (Ant 1.6.3 onwards).

  This method has historically not guaranteed that the operation was atomic. In its current implementation it is.

  Parameters:
    `f` - the file to be created.
  Returns:
    true if the file did not exist already.
  Throws:
    `java.io.IOException` - on error.
  Since:
    Ant 1.5

### createNewFile

    public boolean createNewFile(java.io.File f,
                                 boolean mkdirs)
                          throws java.io.IOException

  Create a new file, optionally creating parent directories.

  Parameters:
    `f` - the file to be created.
    `mkdirs` - `boolean` whether to create parent directories.
  Returns:
    true if the file did not exist already.
  Throws:
    `java.io.IOException` - on error.
  Since:
    Ant 1.6.3

### isSymbolicLink

    public boolean isSymbolicLink(java.io.File parent,
                                  java.lang.String name)
                           throws java.io.IOException

  Checks whether a given file is a symbolic link.

  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.

  Parameters:
    `parent` - the parent directory of the file to test
    `name` - the name of the file to test.
  Returns:
    true if the file is a symbolic link.
  Throws:
    `java.io.IOException` - on error.
  Since:
    Ant 1.5

### removeLeadingPath

    public java.lang.String removeLeadingPath(java.io.File leading,
                                              java.io.File path)

  Removes a leading path from a second path.

  Parameters:
    `leading` - The leading path, must not be null, must be absolute.
    `path` - The path to remove from, must not be null, must be absolute.
  Returns:
    path's normalized absolute if it doesn't start with leading; path's path with leading's path removed otherwise.
  Since:
    Ant 1.5

### toURI

    public java.lang.String toURI(java.lang.String path)

  Constructs a `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.

  Parameters:
    `path` - the path in the local file system.
  Returns:
    the URI version of the local path.
  Since:
    Ant 1.6

### fromURI

    public java.lang.String fromURI(java.lang.String uri)

  Constructs a file path from a `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.

  Parameters:
    `uri` - the URI designating a file in the local filesystem.
  Returns:
    the local file system path for the file.
  Since:
    Ant 1.6

### fileNameEquals

    public boolean fileNameEquals(java.io.File f1,
                                  java.io.File f2)

  Compares two filenames.

  Unlike java.io.File#equals this method will try to compare the absolute paths and "normalize" the filenames before comparing them.

  Parameters:
    `f1` - the file whose name is to be compared.
    `f2` - the other file whose name is to be compared.
  Returns:
    true if the file are for the same file.
  Since:
    Ant 1.5.3

### rename

    public void rename(java.io.File from,
                       java.io.File to)
                throws java.io.IOException

  Renames a file, even if that involves crossing file system boundaries.

  This will remove `to` (if it exists), ensure that `to`'s parent directory exists and move `from`, which involves deleting `from` as well.

  Parameters:
    `from` - the file to move.
    `to` - the new file name.
  Throws:
    `java.io.IOException` - if anything bad happens during this process. Note that `to` may have been deleted already when this happens.
  Since:
    Ant 1.6

### getFileTimestampGranularity

    public long getFileTimestampGranularity()

  Get the granularity of file timestamps. The choice is made based on OS, which is incorrect--it should really be by filesystem. We do not have an easy way to probe for file systems, however.

  Returns:
    the difference, in milliseconds, which two file timestamps must have in order for the two files to be given a creation order.

### isUpToDate

    public boolean isUpToDate(java.io.File source,
                              java.io.File dest,
                              long granularity)

  Returns true if the source is older than the dest. If the dest file does not exist, then the test returns false; it is implicitly not up do date.

  Parameters:
    `source` - source file (should be the older).
    `dest` - dest file (should be the newer).
    `granularity` - an offset added to the source time.
  Returns:
    true if the source is older than the dest after accounting for granularity.
  Since:
    Ant 1.6.3

### isUpToDate

    public boolean isUpToDate(java.io.File source,
                              java.io.File dest)

  Returns true if the source is older than the dest.

  Parameters:
    `source` - source file (should be the older).
    `dest` - dest file (should be the newer).
  Returns:
    true if the source is older than the dest, taking the granularity into account.
  Since:
    Ant 1.6.3

### isUpToDate

    public boolean isUpToDate(long sourceTime,
                              long destTime,
                              long granularity)

  Compare two timestamps for being up to date using the specified granularity.

  Parameters:
    `sourceTime` - timestamp of source file.
    `destTime` - timestamp of dest file.
    `granularity` - os/filesys granularity.
  Returns:
    true if the dest file is considered up to date.

### isUpToDate

    public boolean isUpToDate(long sourceTime,
                              long destTime)

  Compare two timestamps for being up to date using the current granularity.

  Parameters:
    `sourceTime` - timestamp of source file.
    `destTime` - timestamp of dest file.
  Returns:
    true if the dest file is considered up to date.

### close

    public static void close(java.io.Writer device)

  Close a Writer without throwing any exception if something went wrong. Do not attempt to close it if the argument is null.

  Parameters:
    `device` - output writer, can be null.

### close

    public static void close(java.io.Reader device)

  Close a stream without throwing any exception if something went wrong. Do not attempt to close it if the argument is null.

  Parameters:
    `device` - Reader, can be null.

### close

    public static void close(java.io.OutputStream device)

  Close a stream without throwing any exception if something went wrong. Do not attempt to close it if the argument is null.

  Parameters:
    `device` - stream, can be null.

### close

    public static void close(java.io.InputStream device)

  Close a stream without throwing any exception if something went wrong. Do not attempt to close it if the argument is null.

  Parameters:
    `device` - stream, can be null.

### delete

    public static void delete(java.io.File file)

  Delete the file with `File.delete()` if the argument is not null. Do nothing on a null argument.

  Parameters:
    `file` - file to delete.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.