public class PathResource extends Resource
__defaultUseCaches
Constructor and Description |
---|
PathResource(File file)
Construct a new PathResource from a File object.
|
PathResource(Path path)
Construct a new PathResource from a Path object.
|
PathResource(URI uri)
Construct a new PathResource from a URI object.
|
PathResource(URL url)
Create a new PathResource from a provided URL object.
|
Modifier and Type | Method and Description |
---|---|
Resource |
addPath(String subpath)
Returns the resource contained inside the current resource with the
given name.
|
void |
close()
Release any temporary resources held by the resource.
|
void |
copyTo(File destination)
Copy the Resource to the new destination file.
|
boolean |
delete()
Deletes the given resource
|
boolean |
equals(Object obj) |
boolean |
exists() |
URI |
getAlias() |
Path |
getAliasPath()
The Alias as a Path.
|
File |
getFile()
File representing the given resource.
|
InputStream |
getInputStream()
Input stream to the resource
|
String |
getName()
The name of the resource.
|
Path |
getPath() |
ReadableByteChannel |
getReadableByteChannel()
Readable ByteChannel for the resource.
|
URI |
getURI()
URI representing the resource.
|
URL |
getURL()
URL representing the resource.
|
int |
hashCode() |
boolean |
isAlias() |
boolean |
isContainedIn(Resource r) |
boolean |
isDirectory() |
static boolean |
isSameName(Path pathA,
Path pathB)
Test if the paths are the same name.
|
long |
lastModified()
Time resource was last modified.
|
long |
length()
Length of the resource.
|
String[] |
list()
list of resource names contained in the given resource.
|
SeekableByteChannel |
newSeekableByteChannel() |
boolean |
renameTo(Resource dest)
Rename the given resource
|
String |
toString() |
void |
writeTo(OutputStream outputStream,
long start,
long count) |
encode, getAllResources, getAssociate, getDefaultUseCaches, getListHTML, getListHTML, getResource, getWeakETag, getWeakETag, isContainedIn, newClassPathResource, newClassPathResource, newResource, newResource, newResource, newResource, newResource, newResource, newSystemResource, release, setAssociate, setDefaultUseCaches, toURL
public PathResource(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(Path path)
path
- the path to usepublic PathResource(URI uri) throws IOException
Must be an absolute URI using the file
scheme.
uri
- the URI to build this PathResource from.IOException
- if unable to construct the PathResource from the URI.public PathResource(URL url) throws IOException, 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 fromIOException
- if URL doesn't point to a location that can be transformed to a PathResourceURISyntaxException
- if the provided URL was malformedpublic static boolean isSameName(Path pathA, Path pathB)
If the real path is not the same as the absolute path then we know that the real path is the alias for the provided path.
For OS's that are case insensitive, this should return the real (on-disk / case correct) version of the path.
We have to be careful on Windows and OSX.
Assume we have the following scenario:
Path a = new File("foo").toPath(); Files.createFile(a); Path b = new File("FOO").toPath();
There now exists a file called foo
on disk.
Using Windows or OSX, with a Path reference of
FOO
, Foo
, fOO
, etc.. means the following
| OSX | Windows | Linux -----------------------+---------+------------+--------- Files.exists(a) | True | True | True Files.exists(b) | True | True | False Files.isSameFile(a,b) | True | True | False a.equals(b) | False | True | False
See the javadoc for Path.equals() for details about this FileSystem behavior difference
We also cannot rely on a.compareTo(b) as this is roughly equivalent in implementation to a.equals(b)
public Resource addPath(String subpath) throws IOException
Resource
addPath
in class Resource
subpath
- The path segment to add, which is not encodedIOException
- if unable to resolve the pathMalformedURLException
- if the resolution of the path fails because the input path parameter is malformed.public void close()
Resource
public boolean delete() throws SecurityException
Resource
delete
in class Resource
SecurityException
- if unable to delete due to permissionspublic boolean exists()
public File getFile() throws IOException
Resource
getFile
in class Resource
IOException
- if unable to get the resource due to permissionspublic InputStream getInputStream() throws IOException
Resource
getInputStream
in class Resource
IOException
- if unable to open the input streampublic ReadableByteChannel getReadableByteChannel() throws IOException
Resource
getReadableByteChannel
in class Resource
IOException
- if unable to open the readable bytechannel for the resource.public SeekableByteChannel newSeekableByteChannel() throws IOException
IOException
public boolean isContainedIn(Resource r) throws MalformedURLException
isContainedIn
in class Resource
MalformedURLException
public boolean isDirectory()
isDirectory
in class Resource
public long lastModified()
Resource
lastModified
in class Resource
public long length()
Resource
public boolean isAlias()
public 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 URI getAlias()
public String[] list()
Resource
public boolean renameTo(Resource dest) throws SecurityException
Resource
renameTo
in class Resource
dest
- the destination name for the resourceSecurityException
- if unable to rename due to permissionspublic void copyTo(File destination) throws IOException
Resource
Will not replace existing destination file.
copyTo
in class Resource
destination
- the destination file to createIOException
- if unable to copy the resourcepublic void writeTo(OutputStream outputStream, long start, long count) throws IOException
writeTo
in class Resource
outputStream
- the output stream to write tostart
- First byte to writecount
- Bytes to write or -1 for all of them.IOException
- if unable to copy the Resource to the outputCopyright © 2010 - 2020 Adobe. All Rights Reserved