public class FileSystemResource extends AbstractResource implements WritableResource
Resource implementation for java.io.File and
java.nio.file.Path handles with a file system target.
Supports resolution as a File and also as a URL.
Implements the extended WritableResource interface.
Note: As of Spring Framework 5.0, this Resource implementation uses
NIO.2 API for read/write interactions. As of 5.1, it may be constructed with a
Path handle in which case it will perform all file system
interactions via NIO.2, only resorting to File on getFile().
FileSystemResource(File),
FileSystemResource(Path),
File,
Files| 构造器和说明 |
|---|
FileSystemResource(File file)
Create a new
FileSystemResource from a File handle. |
FileSystemResource(FileSystem fileSystem,
String path)
Create a new
FileSystemResource from a FileSystem handle,
locating the specified path. |
FileSystemResource(Path filePath)
|
FileSystemResource(String path)
Create a new
FileSystemResource from a file path. |
| 限定符和类型 | 方法和说明 |
|---|---|
long |
contentLength()
This implementation returns the underlying File/Path length.
|
Resource |
createRelative(String relativePath)
This implementation creates a FileSystemResource, applying the given path
relative to the path of the underlying file of this resource descriptor.
|
boolean |
equals(Object other)
This implementation compares the underlying File references.
|
boolean |
exists()
This implementation returns whether the underlying file exists.
|
String |
getDescription()
This implementation returns a description that includes the absolute
path of the file.
|
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 NIO file stream for the underlying file.
|
OutputStream |
getOutputStream()
This implementation opens a FileOutputStream 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 File reference.
|
boolean |
isFile()
This implementation always indicates a file.
|
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/Path last-modified time.
|
ReadableByteChannel |
readableChannel()
This implementation opens a FileChannel for the underlying file.
|
WritableByteChannel |
writableChannel()
This implementation opens a FileChannel for the underlying file.
|
getFileForLastModifiedCheck, isOpen, toStringpublic FileSystemResource(String path)
FileSystemResource from a file path.
Note: When building relative resources via createRelative(java.lang.String),
it makes a difference whether the specified resource base path here
ends with a slash or not. In the case of "C:/dir1/", relative paths
will be built underneath that root: e.g. relative path "dir2" ->
"C:/dir1/dir2". In the case of "C:/dir1", relative paths will apply
at the same directory level: relative path "dir2" -> "C:/dir2".
path - a file pathFileSystemResource(Path)public FileSystemResource(File file)
FileSystemResource from a File handle.
Note: When building relative resources via createRelative(java.lang.String),
the relative path will apply at the same directory level:
e.g. new File("C:/dir1"), relative path "dir2" -> "C:/dir2"!
If you prefer to have relative paths built underneath the given root directory,
use the constructor with a file path
to append a trailing slash to the root path: "C:/dir1/", which indicates
this directory as root for all relative paths.
file - a File handleFileSystemResource(Path),
getFile()public FileSystemResource(Path filePath)
FileSystemResource from a Path handle,
performing all file system interactions via NIO.2 instead of File.
In contrast to PathResource, this variant strictly follows the
general FileSystemResource conventions, in particular in terms of
path cleaning and createRelative(String) handling.
filePath - a Path handle to a fileFileSystemResource(File)public FileSystemResource(FileSystem fileSystem, String path)
FileSystemResource from a FileSystem handle,
locating the specified path.
This is an alternative to FileSystemResource(String),
performing all file system interactions via NIO.2 instead of File.
fileSystem - the FileSystem to locate the path withinpath - a file pathFileSystemResource(File)public final String getPath()
public boolean exists()
exists 在接口中 Resourceexists 在类中 AbstractResourceFile.exists()public boolean isReadable()
isReadable 在接口中 ResourceisReadable 在类中 AbstractResourceFile.canRead(),
File.isDirectory()public InputStream getInputStream() throws IOException
getInputStream 在接口中 InputStreamSourcenull)FileNotFoundException - if the underlying resource doesn't existIOException - if the content stream could not be openedFileInputStreampublic boolean isWritable()
isWritable 在接口中 WritableResourceFile.canWrite(),
File.isDirectory()public OutputStream getOutputStream() throws IOException
getOutputStream 在接口中 WritableResourceIOException - if the stream could not be openedFileOutputStreampublic URL getURL() throws IOException
getURL 在接口中 ResourcegetURL 在类中 AbstractResourceIOException - if the resource cannot be resolved as URL,
i.e. if the resource is not available as descriptorFile.toURI()public URI getURI() throws IOException
getURI 在接口中 ResourcegetURI 在类中 AbstractResourceIOException - if the resource cannot be resolved as URI,
i.e. if the resource is not available as descriptorFile.toURI()public boolean isFile()
isFile 在接口中 ResourceisFile 在类中 AbstractResourceResource.getFile()public File getFile()
getFile 在接口中 ResourcegetFile 在类中 AbstractResourceInputStreamSource.getInputStream()public ReadableByteChannel readableChannel() throws IOException
readableChannel 在接口中 ResourcereadableChannel 在类中 AbstractResourcenull)FileNotFoundException - if the underlying resource doesn't existIOException - if the content channel could not be openedFileChannelpublic WritableByteChannel writableChannel() throws IOException
writableChannel 在接口中 WritableResourcenull)FileNotFoundException - if the underlying resource doesn't existIOException - if the content channel could not be openedFileChannelpublic long contentLength()
throws IOException
contentLength 在接口中 ResourcecontentLength 在类中 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 在接口中 ResourcelastModified 在类中 AbstractResourceIOException - if the resource cannot be resolved
(in the file system or as some other known physical resource type)AbstractResource.getFileForLastModifiedCheck()public Resource createRelative(String relativePath)
createRelative 在接口中 ResourcecreateRelative 在类中 AbstractResourcerelativePath - the relative path (relative to this resource)org.springframework.util.StringUtils#applyRelativePath(String, String)public String getFilename()
getFilename 在接口中 ResourcegetFilename 在类中 AbstractResourceFile.getName()public String getDescription()
getDescription 在接口中 ResourceFile.getAbsolutePath()public boolean equals(Object other)
equals 在类中 AbstractResourceResource.getDescription()public int hashCode()
hashCode 在类中 AbstractResourceResource.getDescription()Copyright © 2020. All rights reserved.