@UsesJava7 public class PathResource extends AbstractResource implements WritableResource
Resource implementation for java.nio.file.Path handles.
Supports resolution as File, and also as URL.
Implements the extended WritableResource interface.Path| Constructor and Description |
|---|
PathResource(Path path)
Create a new PathResource from a Path handle.
|
PathResource(String path)
Create a new PathResource from a Path handle.
|
PathResource(URI uri)
Create a new PathResource from a Path handle.
|
| Modifier and Type | Method and Description |
|---|---|
long |
contentLength()
This implementation returns the underlying File's length.
|
Resource |
createRelative(String relativePath)
This implementation creates a FileResource, applying the given path
relative to the path of the underlying file of this resource descriptor.
|
boolean |
equals(Object obj)
This implementation compares the underlying Path references.
|
boolean |
exists()
This implementation returns whether the underlying file exists.
|
String |
getDescription()
Return a description for this resource,
to be used for error output when working with the resource.
|
File |
getFile()
This implementation returns the underlying File reference.
|
String |
getFilename()
This implementation returns the name of the file.
|
InputStream |
getInputStream()
This implementation opens a InputStream for the underlying file.
|
OutputStream |
getOutputStream()
This implementation opens a OutputStream for the underlying file.
|
String |
getPath()
Return the file path for this resource.
|
URI |
getURI()
This implementation returns a URI for the underlying file.
|
URL |
getURL()
This implementation returns a URL for the underlying file.
|
int |
hashCode()
This implementation returns the hash code of the underlying Path 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()
This implementation returns the underlying File's timestamp.
|
getFileForLastModifiedCheck, isOpen, toStringpublic PathResource(Path path)
Note: Unlike FileSystemResource, when building relative resources
via createRelative(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"!
path - a Path handlepublic PathResource(String path)
Note: Unlike FileSystemResource, when building relative resources
via createRelative(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"!
path - a pathPaths.get(String, String...)public PathResource(URI uri)
Note: Unlike FileSystemResource, when building relative resources
via createRelative(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"!
uri - a path URIPaths.get(URI)public final String getPath()
public boolean exists()
exists in interface Resourceexists in class AbstractResourceexists()public boolean isReadable()
isReadable in interface ResourceisReadable in class AbstractResourceFiles.isReadable(Path),
Files.isDirectory(Path, java.nio.file.LinkOption...)public InputStream getInputStream() throws IOException
getInputStream in interface InputStreamSourcenull)IOException - if the stream could not be openedFileSystemProvider.newInputStream(Path, OpenOption...)public boolean isWritable()
isWritable in interface WritableResourceFiles.isWritable(Path),
Files.isDirectory(Path, java.nio.file.LinkOption...)public OutputStream getOutputStream() throws IOException
getOutputStream in interface WritableResourceIOException - if the stream could not be openedFileSystemProvider.newOutputStream(Path, OpenOption...)public URL getURL() throws IOException
getURL in interface ResourcegetURL in class AbstractResourceIOException - if the resource cannot be resolved as URL,
i.e. if the resource is not available as descriptorPath.toUri(),
URI.toURL()public URI getURI() throws IOException
getURI in interface ResourcegetURI in class AbstractResourceIOException - if the resource cannot be resolved as URI,
i.e. if the resource is not available as descriptorPath.toUri()public File getFile() throws IOException
getFile in interface ResourcegetFile in class AbstractResourceIOException - if the resource cannot be resolved as absolute
file path, i.e. if the resource is not available in a file systempublic long contentLength()
throws IOException
contentLength in interface ResourcecontentLength in class AbstractResourceIOException - if the resource cannot be resolved
(in the file system or as some other known physical resource type)InputStreamSource.getInputStream()public long lastModified()
throws IOException
lastModified in interface ResourcelastModified in class AbstractResourceIOException - if the resource cannot be resolved
(in the file system or as some other known physical resource type)Files.getLastModifiedTime(Path, java.nio.file.LinkOption...)public Resource createRelative(String relativePath) throws IOException
createRelative in interface ResourcecreateRelative in class AbstractResourcerelativePath - the relative path (relative to this resource)IOException - if the relative resource cannot be determinedPath.resolve(String)public String getFilename()
getFilename in interface ResourcegetFilename in class AbstractResourcePath.getFileName()public String getDescription()
ResourceImplementations are also encouraged to return this value
from their toString method.
getDescription in interface ResourceObject.toString()public boolean equals(Object obj)
equals in class AbstractResourceResource.getDescription()public int hashCode()
hashCode in class AbstractResourceResource.getDescription()