public class PathResource extends Resource
Modifier and Type | Field and Description |
---|---|
private java.nio.file.Path |
alias |
private boolean |
belongsToDefaultFileSystem |
private static java.nio.file.LinkOption[] |
FOLLOW_LINKS |
private static Logger |
LOG |
private static java.nio.file.LinkOption[] |
NO_FOLLOW_LINKS |
private java.nio.file.Path |
path |
private java.net.URI |
uri |
__defaultUseCaches, _associate
Modifier | Constructor and Description |
---|---|
|
PathResource(java.io.File file)
Construct a new PathResource from a File object.
|
|
PathResource(java.nio.file.Path path)
Construct a new PathResource from a Path object.
|
private |
PathResource(PathResource parent,
java.lang.String childPath)
Construct a new PathResource from a parent PathResource
and child sub path
|
|
PathResource(java.net.URI uri)
Construct a new PathResource from a URI object.
|
|
PathResource(java.net.URL url)
Create a new PathResource from a provided URL object.
|
Modifier and Type | Method and Description |
---|---|
Resource |
addPath(java.lang.String subpath)
Returns the resource contained inside the current resource with the
given name.
|
private void |
assertValidPath(java.nio.file.Path path) |
private java.nio.file.Path |
checkAliasPath() |
void |
close()
Release any temporary resources held by the resource.
|
void |
copyTo(java.io.File destination)
Copy the Resource to the new destination file.
|
boolean |
delete()
Deletes the given resource
|
boolean |
equals(java.lang.Object obj) |
boolean |
exists() |
java.net.URI |
getAlias() |
java.nio.file.Path |
getAliasPath()
The Alias as a Path.
|
java.io.File |
getFile()
File representing the given resource.
|
java.io.InputStream |
getInputStream()
Input stream to the resource
|
java.lang.String |
getName()
The name of the resource.
|
java.nio.file.Path |
getPath() |
java.nio.channels.ReadableByteChannel |
getReadableByteChannel()
Readable ByteChannel for the resource.
|
java.net.URI |
getURI()
URI representing the resource.
|
java.net.URL |
getURL()
URL representing the resource.
|
int |
hashCode() |
boolean |
isAlias() |
boolean |
isContainedIn(Resource r) |
boolean |
isDirectory() |
long |
lastModified()
Time resource was last modified.
|
long |
length()
Length of the resource.
|
java.lang.String[] |
list()
list of resource names contained in the given resource.
|
java.nio.channels.SeekableByteChannel |
newSeekableByteChannel() |
boolean |
renameTo(Resource dest)
Rename the given resource
|
private void |
skipTo(java.nio.channels.SeekableByteChannel channel,
java.nio.ByteBuffer buffer,
long skipTo) |
java.lang.String |
toString() |
void |
writeTo(java.io.OutputStream outputStream,
long start,
long count) |
encode, finalize, getAllResources, getAssociate, getDefaultUseCaches, getListHTML, getListHTML, getResource, getWeakETag, getWeakETag, isContainedIn, newClassPathResource, newClassPathResource, newResource, newResource, newResource, newResource, newResource, newResource, newResource, newSystemResource, release, setAssociate, setDefaultUseCaches, toURL
private static final Logger LOG
private static final java.nio.file.LinkOption[] NO_FOLLOW_LINKS
private static final java.nio.file.LinkOption[] FOLLOW_LINKS
private final java.nio.file.Path path
private final java.nio.file.Path alias
private final java.net.URI uri
private final boolean belongsToDefaultFileSystem
public PathResource(java.io.File file)
An invocation of this convenience constructor of the form.
new PathResource(file);
behaves in exactly the same way as the expression
new PathResource(file.toPath());
file
- the file to usepublic PathResource(java.nio.file.Path path)
path
- the path to useprivate PathResource(PathResource parent, java.lang.String childPath)
parent
- the parent path resourcechildPath
- the child sub pathpublic PathResource(java.net.URI uri) throws java.io.IOException
Must be an absolute URI using the file
scheme.
uri
- the URI to build this PathResource from.java.io.IOException
- if unable to construct the PathResource from the URI.public PathResource(java.net.URL url) throws java.io.IOException, java.net.URISyntaxException
An invocation of this convenience constructor of the form.
new PathResource(url);
behaves in exactly the same way as the expression
new PathResource(url.toURI());
url
- the url to attempt to create PathResource fromjava.io.IOException
- if URL doesn't point to a location that can be transformed to a PathResourcejava.net.URISyntaxException
- if the provided URL was malformedprivate final java.nio.file.Path checkAliasPath()
public Resource addPath(java.lang.String subpath) throws java.io.IOException
Resource
addPath
in class Resource
subpath
- The path segment to add, which is not encodedjava.io.IOException
- if unable to resolve the pathjava.net.MalformedURLException
- if the resolution of the path fails because the input path parameter is malformed.private void assertValidPath(java.nio.file.Path path)
public void close()
Resource
public boolean delete() throws java.lang.SecurityException
Resource
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public boolean exists()
public java.io.File getFile() throws java.io.IOException
Resource
public java.nio.file.Path getPath()
Path
of the resourcepublic java.io.InputStream getInputStream() throws java.io.IOException
Resource
getInputStream
in class Resource
java.io.IOException
- if unable to open the input streampublic java.lang.String getName()
Resource
public java.nio.channels.ReadableByteChannel getReadableByteChannel() throws java.io.IOException
Resource
getReadableByteChannel
in class Resource
java.io.IOException
- if unable to open the readable bytechannel for the resource.public java.nio.channels.SeekableByteChannel newSeekableByteChannel() throws java.io.IOException
java.io.IOException
public java.net.URI getURI()
Resource
public java.net.URL getURL()
Resource
public int hashCode()
hashCode
in class java.lang.Object
public boolean isContainedIn(Resource r) throws java.net.MalformedURLException
isContainedIn
in class Resource
java.net.MalformedURLException
public boolean isDirectory()
isDirectory
in class Resource
public long lastModified()
Resource
lastModified
in class Resource
public long length()
Resource
public boolean isAlias()
public java.nio.file.Path getAliasPath()
Note: this cannot return the alias as a DIFFERENT path in 100% of situations, due to Java's internal Path/File normalization.
public java.net.URI getAlias()
public java.lang.String[] list()
Resource
public boolean renameTo(Resource dest) throws java.lang.SecurityException
Resource
public void copyTo(java.io.File destination) throws java.io.IOException
Resource
Will not replace existing destination file.
public void writeTo(java.io.OutputStream outputStream, long start, long count) throws java.io.IOException
private void skipTo(java.nio.channels.SeekableByteChannel channel, java.nio.ByteBuffer buffer, long skipTo) throws java.io.IOException
java.io.IOException
public java.lang.String toString()
toString
in class java.lang.Object