Class PathResource
- All Implemented Interfaces:
- InputStreamSource,- Resource,- WritableResource
Resource implementation for Path handles,
 performing all operations and transformations via the Path API.
 Supports resolution as a File and also as a URL.
 Implements the extended WritableResource interface.
 Note: As of 5.1, Path support is also available
 in FileSystemResource,
 applying Spring's standard String-based path transformations but
 performing all operations via the Files API.
 This PathResource is effectively a pure java.nio.path.Path
 based alternative with different createRelative behavior.
- Since:
- 4.0
- Author:
- Philippe Marschall, Juergen Hoeller
- See Also:
- 
Constructor SummaryConstructorsConstructorDescriptionPathResource(String path) Create a new PathResource from a Path handle.PathResource(URI uri) Create a new PathResource from a Path handle.PathResource(Path path) Create a new PathResource from a Path handle.
- 
Method SummaryModifier and TypeMethodDescriptionlongThis implementation returns the underlying file's length.createRelative(String relativePath) This implementation creates a PathResource, applying the given path relative to the path of the underlying file of this resource descriptor.booleanThis implementation compares the underlying Path references.booleanexists()This implementation returns whether the underlying file exists.Return a description for this resource, to be used for error output when working with the resource.getFile()This implementation returns the underlying File reference.This implementation returns the name of the file.This implementation opens a InputStream for the underlying file.This implementation opens a OutputStream for the underlying file.final StringgetPath()Return the file path for this resource.getURI()This implementation returns a URI for the underlying file.getURL()This implementation returns a URL for the underlying file.inthashCode()This implementation returns the hash code of the underlying Path reference.booleanisFile()This implementation always indicates a file.booleanThis implementation checks whether the underlying file is marked as readable (and corresponds to an actual file with content, not to a directory).booleanThis implementation checks whether the underlying file is marked as writable (and corresponds to an actual file with content, not to a directory).longThis implementation returns the underlying File's timestamp.This implementation opens a Channel for the underlying file.This implementation opens a Channel for the underlying file.Methods inherited from class org.springframework.core.io.AbstractResourcegetFileForLastModifiedCheck, isOpen, toString
- 
Constructor Details- 
PathResourceCreate a new PathResource from a Path handle.Note: Unlike FileSystemResource, when building relative resources viacreateRelative(java.lang.String), the relative path will be built underneath the given root: e.g. Paths.get("C:/dir1/"), relative path "dir2" → "C:/dir1/dir2"!- Parameters:
- path- a Path handle
 
- 
PathResourceCreate a new PathResource from a Path handle.Note: Unlike FileSystemResource, when building relative resources viacreateRelative(java.lang.String), the relative path will be built underneath the given root: e.g. Paths.get("C:/dir1/"), relative path "dir2" → "C:/dir1/dir2"!- Parameters:
- path- a path
- See Also:
 
- 
PathResourceCreate a new PathResource from a Path handle.Note: Unlike FileSystemResource, when building relative resources viacreateRelative(java.lang.String), the relative path will be built underneath the given root: e.g. Paths.get("C:/dir1/"), relative path "dir2" → "C:/dir1/dir2"!- Parameters:
- uri- a path URI
- See Also:
 
 
- 
- 
Method Details- 
getPathReturn the file path for this resource.
- 
existspublic boolean exists()This implementation returns whether the underlying file exists.- Specified by:
- existsin interface- Resource
- Overrides:
- existsin class- AbstractResource
- See Also:
 
- 
isReadablepublic 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:
- isReadablein interface- Resource
- Overrides:
- isReadablein class- AbstractResource
- See Also:
 
- 
getInputStreamThis implementation opens a InputStream for the underlying file.- Specified by:
- getInputStreamin interface- InputStreamSource
- Returns:
- the input stream for the underlying resource (must not be null)
- Throws:
- FileNotFoundException- if the underlying resource does not exist
- IOException- if the content stream could not be opened
- See Also:
 
- 
isWritablepublic 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).- Specified by:
- isWritablein interface- WritableResource
- See Also:
 
- 
getOutputStreamThis implementation opens a OutputStream for the underlying file.- Specified by:
- getOutputStreamin interface- WritableResource
- Throws:
- IOException- if the stream could not be opened
- See Also:
 
- 
getURLThis implementation returns a URL for the underlying file.- Specified by:
- getURLin interface- Resource
- Overrides:
- getURLin class- AbstractResource
- Throws:
- IOException- if the resource cannot be resolved as URL, i.e. if the resource is not available as a descriptor
- See Also:
 
- 
getURIThis implementation returns a URI for the underlying file.- Specified by:
- getURIin interface- Resource
- Overrides:
- getURIin class- AbstractResource
- Throws:
- IOException- if the resource cannot be resolved as URI, i.e. if the resource is not available as a descriptor
- See Also:
 
- 
isFilepublic boolean isFile()This implementation always indicates a file.- Specified by:
- isFilein interface- Resource
- Overrides:
- isFilein class- AbstractResource
- See Also:
 
- 
getFileThis implementation returns the underlying File reference.- Specified by:
- getFilein interface- Resource
- Overrides:
- getFilein class- AbstractResource
- Throws:
- FileNotFoundException- if the resource cannot be resolved as absolute file path, i.e. if the resource is not available in a file system
- IOException- in case of general resolution/reading failures
- See Also:
 
- 
readableChannelThis implementation opens a Channel for the underlying file.- Specified by:
- readableChannelin interface- Resource
- Overrides:
- readableChannelin class- AbstractResource
- Returns:
- the byte channel for the underlying resource (must not be null)
- Throws:
- FileNotFoundException- if the underlying resource doesn't exist
- IOException- if the content channel could not be opened
- See Also:
 
- 
writableChannelThis implementation opens a Channel for the underlying file.- Specified by:
- writableChannelin interface- WritableResource
- Returns:
- the byte channel for the underlying resource (must not be null)
- Throws:
- FileNotFoundException- if the underlying resource doesn't exist
- IOException- if the content channel could not be opened
- See Also:
 
- 
contentLengthThis implementation returns the underlying file's length.- Specified by:
- contentLengthin interface- Resource
- Overrides:
- contentLengthin class- AbstractResource
- Throws:
- IOException- if the resource cannot be resolved (in the file system or as some other known physical resource type)
- See Also:
 
- 
lastModifiedThis implementation returns the underlying File's timestamp.- Specified by:
- lastModifiedin interface- Resource
- Overrides:
- lastModifiedin class- AbstractResource
- Throws:
- IOException- if the resource cannot be resolved (in the file system or as some other known physical resource type)
- See Also:
 
- 
createRelativeThis implementation creates a PathResource, applying the given path relative to the path of the underlying file of this resource descriptor.- Specified by:
- createRelativein interface- Resource
- Overrides:
- createRelativein class- AbstractResource
- Parameters:
- relativePath- the relative path (relative to this resource)
- Returns:
- the resource handle for the relative resource
- See Also:
 
- 
getFilenameThis implementation returns the name of the file.- Specified by:
- getFilenamein interface- Resource
- Overrides:
- getFilenamein class- AbstractResource
- See Also:
 
- 
getDescriptionDescription copied from interface:ResourceReturn a description for this resource, to be used for error output when working with the resource.Implementations are also encouraged to return this value from their toStringmethod.- Specified by:
- getDescriptionin interface- Resource
- See Also:
 
- 
equalsThis implementation compares the underlying Path references.- Overrides:
- equalsin class- AbstractResource
- See Also:
 
- 
hashCodepublic int hashCode()This implementation returns the hash code of the underlying Path reference.- Overrides:
- hashCodein class- AbstractResource
- See Also:
 
 
-