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 Summary
ConstructorsConstructorDescriptionPathResource(String path) Deprecated, for removal: This API element is subject to removal in a future version.Create a newPathResourcefrom a path string.PathResource(URI uri) Deprecated, for removal: This API element is subject to removal in a future version.Create a newPathResourcefrom aURI.PathResource(Path path) Deprecated, for removal: This API element is subject to removal in a future version.Create a newPathResourcefrom aPathhandle. - 
Method Summary
Modifier and TypeMethodDescriptionlongDeprecated, for removal: This API element is subject to removal in a future version.This implementation returns the underlying file's length.createRelative(String relativePath) Deprecated, for removal: This API element is subject to removal in a future version.This implementation creates aPathResource, applying the given path relative to the path of the underlying file of this resource descriptor.booleanDeprecated, for removal: This API element is subject to removal in a future version.This implementation compares the underlyingPathreferences.booleanexists()Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns whether the underlying file exists.byte[]Deprecated, for removal: This API element is subject to removal in a future version.Return the contents of this resource as a byte array.getContentAsString(Charset charset) Deprecated, for removal: This API element is subject to removal in a future version.Return the contents of this resource as a string, using the specified charset.Deprecated, for removal: This API element is subject to removal in a future version.Return a description for this resource, to be used for error output when working with the resource.getFile()Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns the underlyingFilereference.Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns the name of the file.Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns the underlyingPathreference.Deprecated, for removal: This API element is subject to removal in a future version.This implementation opens anInputStreamfor the underlying file.Deprecated, for removal: This API element is subject to removal in a future version.This implementation opens anOutputStreamfor the underlying file.final StringgetPath()Deprecated, for removal: This API element is subject to removal in a future version.Return the file path for this resource.getURI()Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns aURIfor the underlying file.getURL()Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns aURLfor the underlying file.inthashCode()Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns the hash code of the underlyingPathreference.booleanisFile()Deprecated, for removal: This API element is subject to removal in a future version.This implementation always indicates a file.booleanDeprecated, for removal: This API element is subject to removal in a future version.This implementation checks whether the underlying file is marked as readable (and corresponds to an actual file with content, not to a directory).booleanDeprecated, for removal: This API element is subject to removal in a future version.This implementation checks whether the underlying file is marked as writable (and corresponds to an actual file with content, not to a directory).longDeprecated, for removal: This API element is subject to removal in a future version.This implementation returns the underlying file's timestamp.Deprecated, for removal: This API element is subject to removal in a future version.This implementation opens aReadableByteChannelfor the underlying file.Deprecated, for removal: This API element is subject to removal in a future version.This implementation opens aWritableByteChannelfor the underlying file.Methods inherited from class AbstractResource
getFileForLastModifiedCheck, isOpen, toString 
- 
Constructor Details
- 
PathResource
Deprecated, for removal: This API element is subject to removal in a future version.Create a newPathResourcefrom aPathhandle.Note: Unlike
FileSystemResource, when building relative resources viacreateRelative(String), the relative path will be built underneath the given root: for example, Paths.get("C:/dir1/"), relative path "dir2" → "C:/dir1/dir2"!- Parameters:
 path- a Path handle
 - 
PathResource
Deprecated, for removal: This API element is subject to removal in a future version.Create a newPathResourcefrom a path string.Note: Unlike
FileSystemResource, when building relative resources viacreateRelative(String), the relative path will be built underneath the given root: for example, Paths.get("C:/dir1/"), relative path "dir2" → "C:/dir1/dir2"!- Parameters:
 path- a path- See Also:
 
 - 
PathResource
Deprecated, for removal: This API element is subject to removal in a future version.Create a newPathResourcefrom aURI.Note: Unlike
FileSystemResource, when building relative resources viacreateRelative(String), the relative path will be built underneath the given root: for example, Paths.get("C:/dir1/"), relative path "dir2" → "C:/dir1/dir2"!- Parameters:
 uri- a path URI- See Also:
 
 
 - 
 - 
Method Details
- 
getPath
Deprecated, for removal: This API element is subject to removal in a future version.Return the file path for this resource. - 
exists
public boolean exists()Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns whether the underlying file exists.- Specified by:
 existsin interfaceResource- Overrides:
 existsin classAbstractResource- See Also:
 
 - 
isReadable
public boolean isReadable()Deprecated, for removal: This API element is subject to removal in a future version.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 interfaceResource- Overrides:
 isReadablein classAbstractResource- See Also:
 
 - 
getInputStream
Deprecated, for removal: This API element is subject to removal in a future version.This implementation opens anInputStreamfor the underlying file.- Specified by:
 getInputStreamin interfaceInputStreamSource- Returns:
 - the input stream for the underlying resource (must not be 
null) - Throws:
 IOException- if the content stream could not be opened- See Also:
 
 - 
getContentAsByteArray
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:ResourceReturn the contents of this resource as a byte array.- Specified by:
 getContentAsByteArrayin interfaceResource- Returns:
 - the contents of this resource as byte array
 - Throws:
 IOException- in case of general resolution/reading failures
 - 
getContentAsString
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:ResourceReturn the contents of this resource as a string, using the specified charset.- Specified by:
 getContentAsStringin interfaceResource- Parameters:
 charset- the charset to use for decoding- Returns:
 - the contents of this resource as a 
String - Throws:
 IOException- in case of general resolution/reading failures
 - 
isWritable
public boolean isWritable()Deprecated, for removal: This API element is subject to removal in a future version.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 interfaceWritableResource- See Also:
 
 - 
getOutputStream
Deprecated, for removal: This API element is subject to removal in a future version.This implementation opens anOutputStreamfor the underlying file.- Specified by:
 getOutputStreamin interfaceWritableResource- Throws:
 IOException- if the stream could not be opened- See Also:
 
 - 
getURL
Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns aURLfor the underlying file.- Specified by:
 getURLin interfaceResource- Overrides:
 getURLin classAbstractResource- Throws:
 IOException- if the resource cannot be resolved as URL, i.e. if the resource is not available as a descriptor- See Also:
 
 - 
getURI
Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns aURIfor the underlying file.- Specified by:
 getURIin interfaceResource- Overrides:
 getURIin classAbstractResource- Throws:
 IOException- if the resource cannot be resolved as URI, i.e. if the resource is not available as a descriptor- See Also:
 
 - 
isFile
public boolean isFile()Deprecated, for removal: This API element is subject to removal in a future version.This implementation always indicates a file.- Specified by:
 isFilein interfaceResource- Overrides:
 isFilein classAbstractResource- See Also:
 
 - 
getFile
 - 
getFilePath
Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns the underlyingPathreference.- Specified by:
 getFilePathin interfaceResource
 - 
readableChannel
Deprecated, for removal: This API element is subject to removal in a future version.This implementation opens aReadableByteChannelfor the underlying file.- Specified by:
 readableChannelin interfaceResource- Overrides:
 readableChannelin classAbstractResource- Returns:
 - the byte channel for the underlying resource (must not be 
null) - Throws:
 IOException- if the content channel could not be opened- See Also:
 
 - 
writableChannel
Deprecated, for removal: This API element is subject to removal in a future version.This implementation opens aWritableByteChannelfor the underlying file.- Specified by:
 writableChannelin interfaceWritableResource- Returns:
 - the byte channel for the underlying resource (must not be 
null) - Throws:
 IOException- if the content channel could not be opened- See Also:
 
 - 
contentLength
Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns the underlying file's length.- Specified by:
 contentLengthin interfaceResource- Overrides:
 contentLengthin classAbstractResource- Throws:
 IOException- if the resource cannot be resolved (in the file system or as some other known physical resource type)- See Also:
 
 - 
lastModified
Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns the underlying file's timestamp.- Specified by:
 lastModifiedin interfaceResource- Overrides:
 lastModifiedin classAbstractResource- Throws:
 IOException- if the resource cannot be resolved (in the file system or as some other known physical resource type)- See Also:
 
 - 
createRelative
Deprecated, for removal: This API element is subject to removal in a future version.This implementation creates aPathResource, applying the given path relative to the path of the underlying file of this resource descriptor.- Specified by:
 createRelativein interfaceResource- Overrides:
 createRelativein classAbstractResource- Parameters:
 relativePath- the relative path (relative to this resource)- Returns:
 - the resource handle for the relative resource
 - See Also:
 
 - 
getFilename
Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns the name of the file.- Specified by:
 getFilenamein interfaceResource- Overrides:
 getFilenamein classAbstractResource- See Also:
 
 - 
getDescription
Deprecated, for removal: This API element is subject to removal in a future version.Description 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 interfaceResource- See Also:
 
 - 
equals
Deprecated, for removal: This API element is subject to removal in a future version.This implementation compares the underlyingPathreferences.- Overrides:
 equalsin classAbstractResource- See Also:
 
 - 
hashCode
public int hashCode()Deprecated, for removal: This API element is subject to removal in a future version.This implementation returns the hash code of the underlyingPathreference.- Overrides:
 hashCodein classAbstractResource- See Also:
 
 
 - 
 
FileSystemResource