## org.apache.tools.ant.types.resources
Class FileResource

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.types.DataType
              org.apache.tools.ant.types.Resource
                  org.apache.tools.ant.types.resources.FileResource

All Implemented Interfaces:
  java.lang.Cloneable, java.lang.Comparable, ResourceCollection, ResourceFactory, Appendable, FileProvider, Touchable

    public class FileResource

extends Resource
implements Touchable, FileProvider, ResourceFactory, Appendable

A Resource representation of a File.

Since:
  Ant 1.7

Field Summary

Fields inherited from class org.apache.tools.ant.types.Resource
`MAGIC, UNKNOWN_DATETIME, UNKNOWN_SIZE`

Fields inherited from class org.apache.tools.ant.types.DataType
`checked, ref`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`description, location, project`

Constructor Summary
`FileResource()` Default constructor.
`FileResource(java.io.File f)` Construct a new FileResource from a File.
`FileResource(java.io.File b, java.lang.String name)` Construct a new FileResource using the specified basedir and relative name.
`FileResource(Project p, java.io.File f)` Create a new FileResource.
`FileResource(Project p, java.lang.String s)` Constructor for Ant attribute introspection.

Method Summary
`int` `compareTo(java.lang.Object another)` Compare this FileResource to another Resource.
`boolean` `equals(java.lang.Object another)` Compare another Object to this FileResource for equality.
`java.io.OutputStream` `getAppendOutputStream()` Get an appending OutputStream.
`java.io.File` `getBaseDir()` Return the basedir to which the name is relative.
`java.io.File` `getFile()` Get the file represented by this FileResource.
`java.io.InputStream` `getInputStream()` Return an InputStream for reading the contents of this Resource.
`long` `getLastModified()` Get the modification time in milliseconds since 01.01.1970 .
`java.lang.String` `getName()` Get the name of this FileResource.
`protected java.io.File` `getNotNullFile()` Get the file represented by this FileResource, ensuring it is not null.
`java.io.OutputStream` `getOutputStream()` Get an OutputStream for the Resource.
`Resource` `getResource(java.lang.String path)` Create a new resource that matches a relative or absolute path.
`long` `getSize()` Get the size of this Resource.
`int` `hashCode()` Get the hash code for this Resource.
`boolean` `isDirectory()` Learn whether the resource is a directory.
`boolean` `isExists()` Learn whether this file exists.
`boolean` `isFilesystemOnly()` Fulfill the ResourceCollection contract.
`void` `setBaseDir(java.io.File b)` Set the basedir for this FileResource.
`void` `setFile(java.io.File f)` Set the File for this FileResource.
`void` `setRefid(Reference r)` Overrides the super version.
`java.lang.String` `toString()` Get the string representation of this Resource.
`void` `touch(long modTime)` Implement the Touchable interface.

Methods inherited from class org.apache.tools.ant.types.Resource
`as, clone, getMagicNumber, iterator, setDirectory, setExists, setLastModified, setName, setSize, size, toLongString`

Methods inherited from class org.apache.tools.ant.types.DataType
`checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### FileResource

    public FileResource()

  Default constructor.

### FileResource

    public FileResource(java.io.File b,
                        java.lang.String name)

  Construct a new FileResource using the specified basedir and relative name.

  Parameters:
    `b` - the basedir as File.
    `name` - the relative filename.

### FileResource

    public FileResource(java.io.File f)

  Construct a new FileResource from a File.

  Parameters:
    `f` - the File represented.

### FileResource

    public FileResource(Project p,
                        java.io.File f)

  Create a new FileResource.

  Parameters:
    `p` - Project
    `f` - File represented
  Since:
    Ant 1.8

### FileResource

    public FileResource(Project p,
                        java.lang.String s)

  Constructor for Ant attribute introspection.

  Parameters:
    `p` - the Project against which to resolve `s`.
    `s` - the absolute or Project-relative filename as a String.
  See Also:
    `IntrospectionHelper`

Method Detail

### setFile

    public void setFile(java.io.File f)

  Set the File for this FileResource.

  Parameters:
    `f` - the File to be represented.

### getFile

    public java.io.File getFile()

  Get the file represented by this FileResource.

  Specified by:
    `getFile` in interface `FileProvider`
  Returns:
    the File.

### setBaseDir

    public void setBaseDir(java.io.File b)

  Set the basedir for this FileResource.

  Parameters:
    `b` - the basedir as File.

### getBaseDir

    public java.io.File getBaseDir()

  Return the basedir to which the name is relative.

  Returns:
    the basedir as File.

### setRefid

    public void setRefid(Reference r)

  Overrides the super version.

  Overrides:
    `setRefid` in class `Resource`
  Parameters:
    `r` - the Reference to set.

### getName

    public java.lang.String getName()

  Get the name of this FileResource. If the basedir is set, the name will be relative to that. Otherwise the basename only will be returned.

  Overrides:
    `getName` in class `Resource`
  Returns:
    the name of this resource.

### isExists

    public boolean isExists()

  Learn whether this file exists.

  Overrides:
    `isExists` in class `Resource`
  Returns:
    true if this resource exists.

### getLastModified

    public long getLastModified()

  Get the modification time in milliseconds since 01.01.1970 .

  Overrides:
    `getLastModified` in class `Resource`
  Returns:
    0 if the resource does not exist.

### isDirectory

    public boolean isDirectory()

  Learn whether the resource is a directory.

  Overrides:
    `isDirectory` in class `Resource`
  Returns:
    boolean flag indicating if the resource is a directory.

### getSize

    public long getSize()

  Get the size of this Resource.

  Overrides:
    `getSize` in class `Resource`
  Returns:
    the size, as a long, 0 if the Resource does not exist.

### getInputStream

    public java.io.InputStream getInputStream()
                                       throws java.io.IOException

  Return an InputStream for reading the contents of this Resource.

  Overrides:
    `getInputStream` in class `Resource`
  Returns:
    an InputStream object.
  Throws:
    `java.io.IOException` - if an error occurs.

### getOutputStream

    public java.io.OutputStream getOutputStream()
                                         throws java.io.IOException

  Get an OutputStream for the Resource.

  Overrides:
    `getOutputStream` in class `Resource`
  Returns:
    an OutputStream to which content can be written.
  Throws:
    `java.io.IOException` - if unable to provide the content of this Resource as a stream.
    `java.lang.UnsupportedOperationException` - if OutputStreams are not supported for this Resource type.

### getAppendOutputStream

    public java.io.OutputStream getAppendOutputStream()
                                               throws java.io.IOException

  Get an appending OutputStream.

  Specified by:
    `getAppendOutputStream` in interface `Appendable`
  Returns:
    OutputStream
  Throws:
    `java.io.IOException` - if anything goes wrong

### compareTo

    public int compareTo(java.lang.Object another)

  Compare this FileResource to another Resource.

  Specified by:
    `compareTo` in interface `java.lang.Comparable`
  Overrides:
    `compareTo` in class `Resource`
  Parameters:
    `another` - the other Resource against which to compare.
  Returns:
    a negative integer, zero, or a positive integer as this FileResource is less than, equal to, or greater than the specified Resource.

### equals

    public boolean equals(java.lang.Object another)

  Compare another Object to this FileResource for equality.

  Overrides:
    `equals` in class `Resource`
  Parameters:
    `another` - the other Object to compare.
  Returns:
    true if another is a FileResource representing the same file.

### hashCode

    public int hashCode()

  Get the hash code for this Resource.

  Overrides:
    `hashCode` in class `Resource`
  Returns:
    hash code as int.

### toString

    public java.lang.String toString()

  Get the string representation of this Resource.

  Overrides:
    `toString` in class `Resource`
  Returns:
    this FileResource formatted as a String.

### isFilesystemOnly

    public boolean isFilesystemOnly()

  Fulfill the ResourceCollection contract.

  Specified by:
    `isFilesystemOnly` in interface `ResourceCollection`
  Overrides:
    `isFilesystemOnly` in class `Resource`
  Returns:
    whether this Resource is a FileResource.

### touch

    public void touch(long modTime)

  Implement the Touchable interface.

  Specified by:
    `touch` in interface `Touchable`
  Parameters:
    `modTime` - new last modification time.

### getNotNullFile

    protected java.io.File getNotNullFile()

  Get the file represented by this FileResource, ensuring it is not null.

  Returns:
    the not-null File.
  Throws:
    `BuildException` - if file is null.

### getResource

    public Resource getResource(java.lang.String path)

  Create a new resource that matches a relative or absolute path. If the current instance has a baseDir attribute, it is copied.

  Specified by:
    `getResource` in interface `ResourceFactory`
  Parameters:
    `path` - relative/absolute path to a resource
  Returns:
    a new resource of type FileResource
  Throws:
    `BuildException` - if desired
  Since:
    Ant1.8