类 FileSystemResource
- java.lang.Object
- org.springframework.core.io.AbstractResource
- org.springframework.core.io.FileSystemResource
- 所有已实现的接口:
InputStreamSource,Resource,WritableResource
public class FileSystemResource extends AbstractResource implements WritableResource
Resourceimplementation forjava.io.Fileandjava.nio.file.Pathhandles with a file system target. Supports resolution as aFileand also as aURL. Implements the extendedWritableResourceinterface.Note: As of Spring Framework 5.0, this
Resourceimplementation uses NIO.2 API for read/write interactions. As of 5.1, it may be constructed with aPathhandle in which case it will perform all file system interactions via NIO.2, only resorting toFileongetFile().- 从以下版本开始:
- 28.12.2003
- 作者:
- Juergen Hoeller
- 另请参阅:
FileSystemResource(String),FileSystemResource(File),FileSystemResource(Path),File,Files
构造器概要
构造器 构造器 说明 FileSystemResource(File file)Create a newFileSystemResourcefrom aFilehandle.FileSystemResource(String path)Create a newFileSystemResourcefrom a file path.FileSystemResource(FileSystem fileSystem, String path)Create a newFileSystemResourcefrom aFileSystemhandle, locating the specified path.FileSystemResource(Path filePath)
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 longcontentLength()This implementation returns the underlying File/Path length.ResourcecreateRelative(String relativePath)This implementation creates a FileSystemResource, applying the given path relative to the path of the underlying file of this resource descriptor.booleanequals(Object other)This implementation compares the underlying File references.booleanexists()This implementation returns whether the underlying file exists.StringgetDescription()This implementation returns a description that includes the absolute path of the file.FilegetFile()This implementation returns the underlying File reference.StringgetFilename()This implementation returns the name of the file.InputStreamgetInputStream()This implementation opens a NIO file stream for the underlying file.OutputStreamgetOutputStream()This implementation opens a FileOutputStream for the underlying file.StringgetPath()Return the file path for this resource.URIgetURI()This implementation returns a URI for the underlying file.URLgetURL()This implementation returns a URL for the underlying file.inthashCode()This implementation returns the hash code of the underlying File reference.booleanisFile()This implementation always indicates a file.booleanisReadable()This implementation checks whether the underlying file is marked as readable (and corresponds to an actual file with content, not to a directory).booleanisWritable()This implementation checks whether the underlying file is marked as writable (and corresponds to an actual file with content, not to a directory).longlastModified()This implementation returns the underlying File/Path last-modified time.ReadableByteChannelreadableChannel()This implementation opens a FileChannel for the underlying file.WritableByteChannelwritableChannel()This implementation opens a FileChannel for the underlying file.从类继承的方法 org.springframework.core.io.AbstractResource
getFileForLastModifiedCheck, isOpen, toString
构造器详细资料
FileSystemResource
public FileSystemResource(String path)
Create a newFileSystemResourcefrom 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 path- 另请参阅:
FileSystemResource(Path)
FileSystemResource
public FileSystemResource(File file)
Create a newFileSystemResourcefrom aFilehandle.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 theconstructor with a file pathto append a trailing slash to the root path: "C:/dir1/", which indicates this directory as root for all relative paths.- 参数:
file- a File handle- 另请参阅:
FileSystemResource(Path),getFile()
FileSystemResource
public FileSystemResource(Path filePath)
Create a newFileSystemResourcefrom aPathhandle, performing all file system interactions via NIO.2 instead ofFile.In contrast to
PathResource, this variant strictly follows the generalFileSystemResourceconventions, in particular in terms of path cleaning andcreateRelative(String)handling.Note: When building relative resources via
createRelative(java.lang.String), the relative path will apply at the same directory level: e.g. Paths.get("C:/dir1"), relative path "dir2" -> "C:/dir2"! If you prefer to have relative paths built underneath the given root directory, use theconstructor with a file pathto append a trailing slash to the root path: "C:/dir1/", which indicates this directory as root for all relative paths. Alternatively, consider usingPathResource(Path)forjava.nio.path.Pathresolution increateRelative, always nesting relative paths.- 参数:
filePath- a Path handle to a file- 从以下版本开始:
- 5.1
- 另请参阅:
FileSystemResource(File)
FileSystemResource
public FileSystemResource(FileSystem fileSystem, String path)
Create a newFileSystemResourcefrom aFileSystemhandle, locating the specified path.This is an alternative to
FileSystemResource(String), performing all file system interactions via NIO.2 instead ofFile.- 参数:
fileSystem- the FileSystem to locate the path withinpath- a file path- 从以下版本开始:
- 5.1.1
- 另请参阅:
FileSystemResource(File)
方法详细资料
exists
public boolean exists()
This implementation returns whether the underlying file exists.- 指定者:
exists在接口中Resource- 覆盖:
exists在类中AbstractResource- 另请参阅:
File.exists()
isReadable
public 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).- 指定者:
isReadable在接口中Resource- 覆盖:
isReadable在类中AbstractResource- 另请参阅:
File.canRead(),File.isDirectory()
getInputStream
public InputStream getInputStream() throws IOException
This implementation opens a NIO file stream for the underlying file.- 指定者:
getInputStream在接口中InputStreamSource- 返回:
- the input stream for the underlying resource (must not be
null) - 抛出:
FileNotFoundException- if the underlying resource doesn't existIOException- if the content stream could not be opened- 另请参阅:
FileInputStream
isWritable
public 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).- 指定者:
isWritable在接口中WritableResource- 另请参阅:
File.canWrite(),File.isDirectory()
getOutputStream
public OutputStream getOutputStream() throws IOException
This implementation opens a FileOutputStream for the underlying file.- 指定者:
getOutputStream在接口中WritableResource- 抛出:
IOException- if the stream could not be opened- 另请参阅:
FileOutputStream
getURL
public URL getURL() throws IOException
This implementation returns a URL for the underlying file.- 指定者:
getURL在接口中Resource- 覆盖:
getURL在类中AbstractResource- 抛出:
IOException- if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor- 另请参阅:
File.toURI()
getURI
public URI getURI() throws IOException
This implementation returns a URI for the underlying file.- 指定者:
getURI在接口中Resource- 覆盖:
getURI在类中AbstractResource- 抛出:
IOException- if the resource cannot be resolved as URI, i.e. if the resource is not available as descriptor- 另请参阅:
File.toURI()
isFile
public boolean isFile()
This implementation always indicates a file.- 指定者:
isFile在接口中Resource- 覆盖:
isFile在类中AbstractResource- 另请参阅:
Resource.getFile()
getFile
public File getFile()
This implementation returns the underlying File reference.- 指定者:
getFile在接口中Resource- 覆盖:
getFile在类中AbstractResource- 另请参阅:
InputStreamSource.getInputStream()
readableChannel
public ReadableByteChannel readableChannel() throws IOException
This implementation opens a FileChannel for the underlying file.- 指定者:
readableChannel在接口中Resource- 覆盖:
readableChannel在类中AbstractResource- 返回:
- the byte channel for the underlying resource (must not be
null) - 抛出:
FileNotFoundException- if the underlying resource doesn't existIOException- if the content channel could not be opened- 另请参阅:
FileChannel
writableChannel
public WritableByteChannel writableChannel() throws IOException
This implementation opens a FileChannel for the underlying file.- 指定者:
writableChannel在接口中WritableResource- 返回:
- the byte channel for the underlying resource (must not be
null) - 抛出:
FileNotFoundException- if the underlying resource doesn't existIOException- if the content channel could not be opened- 另请参阅:
FileChannel
contentLength
public long contentLength() throws IOException
This implementation returns the underlying File/Path length.- 指定者:
contentLength在接口中Resource- 覆盖:
contentLength在类中AbstractResource- 抛出:
IOException- if the resource cannot be resolved (in the file system or as some other known physical resource type)- 另请参阅:
InputStreamSource.getInputStream()
lastModified
public long lastModified() throws IOException
This implementation returns the underlying File/Path last-modified time.- 指定者:
lastModified在接口中Resource- 覆盖:
lastModified在类中AbstractResource- 抛出:
IOException- if the resource cannot be resolved (in the file system or as some other known physical resource type)- 另请参阅:
AbstractResource.getFileForLastModifiedCheck()
createRelative
public 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.- 指定者:
createRelative在接口中Resource- 覆盖:
createRelative在类中AbstractResource- 参数:
relativePath- the relative path (relative to this resource)- 返回:
- the resource handle for the relative resource
- 另请参阅:
StringUtils.applyRelativePath(String, String)
getFilename
public String getFilename()
This implementation returns the name of the file.- 指定者:
getFilename在接口中Resource- 覆盖:
getFilename在类中AbstractResource- 另请参阅:
File.getName()
getDescription
public String getDescription()
This implementation returns a description that includes the absolute path of the file.- 指定者:
getDescription在接口中Resource- 另请参阅:
File.getAbsolutePath()
equals
public boolean equals(@Nullable Object other)
This implementation compares the underlying File references.- 覆盖:
equals在类中AbstractResource- 另请参阅:
Resource.getDescription()
hashCode
public int hashCode()
This implementation returns the hash code of the underlying File reference.- 覆盖:
hashCode在类中AbstractResource- 另请参阅:
Resource.getDescription()