接口 Resource
- 所有超级接口:
InputStreamSource
- 所有已知子接口:
ContextResource
,HttpResource
,HttpResource
,WritableResource
- 所有已知实现类:
AbstractFileResolvingResource
,AbstractResource
,ByteArrayResource
,ClassPathResource
,DefaultResourceLoader.ClassPathContextResource
,DescriptiveResource
,FileSystemResource
,FileUrlResource
,InputStreamResource
,PathResource
,ServletContextResource
,TransformedResource
,TransformedResource
,UrlResource
,VfsResource
public interface Resource extends InputStreamSource
Interface for a resource descriptor that abstracts from the actual type of underlying resource, such as a file or class path resource.An InputStream can be opened for every resource if it exists in physical form, but a URL or File handle can just be returned for certain resources. The actual behavior is implementation-specific.
- 从以下版本开始:
- 28.12.2003
- 作者:
- Juergen Hoeller
- 另请参阅:
InputStreamSource.getInputStream()
,getURL()
,getURI()
,getFile()
,WritableResource
,ContextResource
,UrlResource
,FileUrlResource
,FileSystemResource
,ClassPathResource
,ByteArrayResource
,InputStreamResource
方法概要
所有方法 实例方法 抽象方法 默认方法 修饰符和类型 方法 说明 long
contentLength()
Determine the content length for this resource.Resource
createRelative(String relativePath)
Create a resource relative to this resource.boolean
exists()
Determine whether this resource actually exists in physical form.String
getDescription()
Return a description for this resource, to be used for error output when working with the resource.File
getFile()
Return a File handle for this resource.String
getFilename()
Determine a filename for this resource, i.e. typically the last part of the path: for example, "myfile.txt".URI
getURI()
Return a URI handle for this resource.URL
getURL()
Return a URL handle for this resource.default boolean
isFile()
Determine whether this resource represents a file in a file system.default boolean
isOpen()
Indicate whether this resource represents a handle with an open stream.default boolean
isReadable()
Indicate whether non-empty contents of this resource can be read viaInputStreamSource.getInputStream()
.long
lastModified()
Determine the last-modified timestamp for this resource.default ReadableByteChannel
readableChannel()
Return aReadableByteChannel
.从接口继承的方法 org.springframework.core.io.InputStreamSource
getInputStream
方法详细资料
exists
boolean exists()
Determine whether this resource actually exists in physical form.This method performs a definitive existence check, whereas the existence of a
Resource
handle only guarantees a valid descriptor handle.
isReadable
default boolean isReadable()
Indicate whether non-empty contents of this resource can be read viaInputStreamSource.getInputStream()
.Will be
true
for typical resource descriptors that exist since it strictly impliesexists()
semantics as of 5.1. Note that actual content reading may still fail when attempted. However, a value offalse
is a definitive indication that the resource content cannot be read.
isOpen
default boolean isOpen()
Indicate whether this resource represents a handle with an open stream. Iftrue
, the InputStream cannot be read multiple times, and must be read and closed to avoid resource leaks.Will be
false
for typical resource descriptors.
isFile
default boolean isFile()
Determine whether this resource represents a file in a file system. A value oftrue
strongly suggests (but does not guarantee) that agetFile()
call will succeed.This is conservatively
false
by default.- 从以下版本开始:
- 5.0
- 另请参阅:
getFile()
getURL
URL getURL() throws IOException
Return a URL handle for this resource.- 抛出:
IOException
- if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor
getURI
URI getURI() throws IOException
Return a URI handle for this resource.- 抛出:
IOException
- if the resource cannot be resolved as URI, i.e. if the resource is not available as descriptor- 从以下版本开始:
- 2.5
getFile
File getFile() throws IOException
Return a File handle for this resource.- 抛出:
FileNotFoundException
- if the resource cannot be resolved as absolute file path, i.e. if the resource is not available in a file systemIOException
- in case of general resolution/reading failures- 另请参阅:
InputStreamSource.getInputStream()
readableChannel
default ReadableByteChannel readableChannel() throws IOException
Return aReadableByteChannel
.It is expected that each call creates a fresh channel.
The default implementation returns
Channels.newChannel(InputStream)
with the result ofInputStreamSource.getInputStream()
.- 返回:
- 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- 从以下版本开始:
- 5.0
- 另请参阅:
InputStreamSource.getInputStream()
contentLength
long contentLength() throws IOException
Determine the content length for this resource.- 抛出:
IOException
- if the resource cannot be resolved (in the file system or as some other known physical resource type)
lastModified
long lastModified() throws IOException
Determine the last-modified timestamp for this resource.- 抛出:
IOException
- if the resource cannot be resolved (in the file system or as some other known physical resource type)
createRelative
Resource createRelative(String relativePath) throws IOException
Create a resource relative to this resource.- 参数:
relativePath
- the relative path (relative to this resource)- 返回:
- the resource handle for the relative resource
- 抛出:
IOException
- if the relative resource cannot be determined
getFilename
@Nullable String getFilename()
Determine a filename for this resource, i.e. typically the last part of the path: for example, "myfile.txt".Returns
null
if this type of resource does not have a filename.
getDescription
String getDescription()
Return a description for this resource, to be used for error output when working with the resource.Implementations are also encouraged to return this value from their
toString
method.- 另请参阅:
Object.toString()