Class FileSystemResource

  • All Implemented Interfaces:
    Resource

    public class FileSystemResource
    extends java.lang.Object
    implements Resource
    Based on Spring FileSystemResource implementation.
    Since:
    28.12.2003
    See Also:
    File
    • Constructor Summary

      Constructors 
      Constructor Description
      FileSystemResource​(java.io.File file)
      Create a new FileSystemResource from a File handle.
      FileSystemResource​(java.lang.String path)
      Create a new FileSystemResource from a file path.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void assertNotNull​(java.lang.Object object, java.lang.String message)  
      long contentLength()
      This implementation returns the underlying File's length.
      Resource createRelative​(java.lang.String relativePath)
      This implementation creates a FileSystemResource, applying the given path relative to the path of the underlying file of this resource descriptor.
      boolean equals​(java.lang.Object obj)
      This implementation compares the underlying File references.
      boolean exists()
      This implementation returns whether the underlying file exists.
      java.lang.String getDescription()
      This implementation returns a description that includes the absolute path of the file.
      java.io.File getFile()
      This implementation returns the underlying File reference.
      java.lang.String getFilename()
      This implementation returns the name of the file.
      java.io.InputStream getInputStream()
      This implementation opens a FileInputStream for the underlying file.
      java.io.OutputStream getOutputStream()
      This implementation opens a FileOutputStream for the underlying file.
      java.lang.String getPath()
      Return the file path for this resource.
      java.net.URI getURI()
      This implementation returns a URI for the underlying file.
      java.net.URL getURL()
      This implementation returns a URL for the underlying file.
      int hashCode()
      This implementation returns the hash code of the underlying File reference.
      boolean isReadable()
      This implementation checks whether the underlying file is marked as readable (and corresponds to an actual file with content, not to a directory).
      boolean isWritable()
      This implementation checks whether the underlying file is marked as writable (and corresponds to an actual file with content, not to a directory).
      long lastModified()
      Determine the last-modified timestamp for this resource.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • FileSystemResource

        public FileSystemResource​(java.io.File file)
        Create a new FileSystemResource from a File handle.
        Parameters:
        file - a File handle
      • FileSystemResource

        public FileSystemResource​(java.lang.String path)
        Create a new FileSystemResource from a file path.
        Parameters:
        path - a file path
    • Method Detail

      • getPath

        public final java.lang.String getPath()
        Return the file path for this resource.
      • exists

        public boolean exists()
        This implementation returns whether the underlying file exists.
        Specified by:
        exists in interface Resource
        See Also:
        File.exists()
      • isReadable

        public boolean isReadable()
        This implementation checks whether the underlying file is marked as readable (and corresponds to an actual file with content, not to a directory).
        Specified by:
        isReadable in interface Resource
        See Also:
        File.canRead(), File.isDirectory()
      • getInputStream

        public java.io.InputStream getInputStream()
                                           throws java.io.IOException
        This implementation opens a FileInputStream for the underlying file.
        Specified by:
        getInputStream in interface Resource
        Returns:
        The input stream
        Throws:
        java.io.IOException
        See Also:
        FileInputStream
      • getURL

        public java.net.URL getURL()
                            throws java.io.IOException
        This implementation returns a URL for the underlying file.
        Specified by:
        getURL in interface Resource
        Throws:
        java.io.IOException - if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor
        See Also:
        File.toURI()
      • getURI

        public java.net.URI getURI()
                            throws java.io.IOException
        This implementation returns a URI for the underlying file.
        Specified by:
        getURI in interface Resource
        Throws:
        java.io.IOException - if the resource cannot be resolved as URI, i.e. if the resource is not available as descriptor
        See Also:
        File.toURI()
      • getFile

        public java.io.File getFile()
        This implementation returns the underlying File reference.
        Specified by:
        getFile in interface Resource
      • contentLength

        public long contentLength()
                           throws java.io.IOException
        This implementation returns the underlying File's length.
        Specified by:
        contentLength in interface Resource
        Throws:
        java.io.IOException - if the resource cannot be resolved (in the file system or as some other known physical resource type)
      • lastModified

        public long lastModified()
                          throws java.io.IOException
        Description copied from interface: Resource
        Determine the last-modified timestamp for this resource.
        Specified by:
        lastModified in interface Resource
        Throws:
        java.io.IOException - if the resource cannot be resolved (in the file system or as some other known physical resource type)
      • getFilename

        public java.lang.String getFilename()
        This implementation returns the name of the file.
        Specified by:
        getFilename in interface Resource
        See Also:
        File.getName()
      • getDescription

        public java.lang.String getDescription()
        This implementation returns a description that includes the absolute path of the file.
        Specified by:
        getDescription in interface Resource
        See Also:
        File.getAbsolutePath()
      • createRelative

        public Resource createRelative​(java.lang.String relativePath)
        This implementation creates a FileSystemResource, applying the given path relative to the path of the underlying file of this resource descriptor.
        Specified by:
        createRelative in interface Resource
        Parameters:
        relativePath - The relative path
        Returns:
        The new resource
      • isWritable

        public boolean isWritable()
        This implementation checks whether the underlying file is marked as writable (and corresponds to an actual file with content, not to a directory).
        See Also:
        File.canWrite(), File.isDirectory()
      • getOutputStream

        public java.io.OutputStream getOutputStream()
                                             throws java.io.IOException
        This implementation opens a FileOutputStream for the underlying file.
        Throws:
        java.io.IOException
        See Also:
        FileOutputStream
      • equals

        public boolean equals​(java.lang.Object obj)
        This implementation compares the underlying File references.
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        This implementation returns the hash code of the underlying File reference.
        Overrides:
        hashCode in class java.lang.Object
      • assertNotNull

        protected void assertNotNull​(java.lang.Object object,
                                     java.lang.String message)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object