类 AbstractResource
- java.lang.Object
- org.springframework.core.io.AbstractResource
- 所有已实现的接口:
InputStreamSource
,Resource
- 直接已知子类:
AbstractFileResolvingResource
,ByteArrayResource
,DescriptiveResource
,FileSystemResource
,InputStreamResource
,PathResource
,VfsResource
public abstract class AbstractResource extends Object implements Resource
Convenience base class forResource
implementations, pre-implementing typical behavior.The "exists" method will check whether a File or InputStream can be opened; "isOpen" will always return false; "getURL" and "getFile" throw an exception; and "toString" will return the description.
- 从以下版本开始:
- 28.12.2003
- 作者:
- Juergen Hoeller, Sam Brannen
构造器概要
构造器 构造器 说明 AbstractResource()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 long
contentLength()
This method reads the entire InputStream to determine the content length.Resource
createRelative(String relativePath)
This implementation throws a FileNotFoundException, assuming that relative resources cannot be created for this resource.boolean
equals(Object other)
This implementation compares description strings.boolean
exists()
This implementation checks whether a File can be opened, falling back to whether an InputStream can be opened.File
getFile()
This implementation throws a FileNotFoundException, assuming that the resource cannot be resolved to an absolute file path.protected File
getFileForLastModifiedCheck()
Determine the File to use for timestamp checking.String
getFilename()
This implementation always returnsnull
, assuming that this resource type does not have a filename.URI
getURI()
This implementation builds a URI based on the URL returned bygetURL()
.URL
getURL()
This implementation throws a FileNotFoundException, assuming that the resource cannot be resolved to a URL.int
hashCode()
This implementation returns the description's hash code.boolean
isFile()
This implementation always returnsfalse
.boolean
isOpen()
This implementation always returnsfalse
.boolean
isReadable()
This implementation always returnstrue
for a resource thatexists
(revised as of 5.1).long
lastModified()
This implementation checks the timestamp of the underlying File, if available.ReadableByteChannel
readableChannel()
This implementation returnsChannels.newChannel(InputStream)
with the result ofInputStreamSource.getInputStream()
.String
toString()
This implementation returns the description of this resource.从接口继承的方法 org.springframework.core.io.InputStreamSource
getInputStream
从接口继承的方法 org.springframework.core.io.Resource
getDescription
构造器详细资料
AbstractResource
public AbstractResource()
方法详细资料
exists
public boolean exists()
This implementation checks whether a File can be opened, falling back to whether an InputStream can be opened. This will cover both directories and content resources.
isReadable
public boolean isReadable()
This implementation always returnstrue
for a resource thatexists
(revised as of 5.1).
isFile
public boolean isFile()
This implementation always returnsfalse
.- 指定者:
isFile
在接口中Resource
- 另请参阅:
Resource.getFile()
getURL
public URL getURL() throws IOException
This implementation throws a FileNotFoundException, assuming that the resource cannot be resolved to a URL.- 指定者:
getURL
在接口中Resource
- 抛出:
IOException
- if the resource cannot be resolved as URL, i.e. if the resource is not available as descriptor
getURI
public URI getURI() throws IOException
This implementation builds a URI based on the URL returned bygetURL()
.- 指定者:
getURI
在接口中Resource
- 抛出:
IOException
- if the resource cannot be resolved as URI, i.e. if the resource is not available as descriptor
getFile
public File getFile() throws IOException
This implementation throws a FileNotFoundException, assuming that the resource cannot be resolved to an absolute file path.- 指定者:
getFile
在接口中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
public ReadableByteChannel readableChannel() throws IOException
This implementation returnsChannels.newChannel(InputStream)
with the result ofInputStreamSource.getInputStream()
.This is the same as in
Resource
's corresponding default method but mirrored here for efficient JVM-level dispatching in a class hierarchy.- 指定者:
readableChannel
在接口中Resource
- 返回:
- 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- 另请参阅:
InputStreamSource.getInputStream()
contentLength
public long contentLength() throws IOException
This method reads the entire InputStream to determine the content length.For a custom sub-class of
InputStreamResource
, we strongly recommend overriding this method with a more optimal implementation, e.g. checking File length, or possibly simply returning -1 if the stream can only be read once.- 指定者:
contentLength
在接口中Resource
- 抛出:
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 checks the timestamp of the underlying File, if available.- 指定者:
lastModified
在接口中Resource
- 抛出:
IOException
- if the resource cannot be resolved (in the file system or as some other known physical resource type)- 另请参阅:
getFileForLastModifiedCheck()
getFileForLastModifiedCheck
protected File getFileForLastModifiedCheck() throws IOException
Determine the File to use for timestamp checking.The default implementation delegates to
getFile()
.- 返回:
- the File to use for timestamp checking (never
null
) - 抛出:
FileNotFoundException
- if the resource cannot be resolved as an absolute file path, i.e. is not available in a file systemIOException
- in case of general resolution/reading failures
createRelative
public Resource createRelative(String relativePath) throws IOException
This implementation throws a FileNotFoundException, assuming that relative resources cannot be created for this resource.- 指定者:
createRelative
在接口中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 public String getFilename()
This implementation always returnsnull
, assuming that this resource type does not have a filename.- 指定者:
getFilename
在接口中Resource
equals
public boolean equals(@Nullable Object other)
This implementation compares description strings.- 覆盖:
equals
在类中Object
- 另请参阅:
Resource.getDescription()
hashCode
public int hashCode()
This implementation returns the description's hash code.- 覆盖:
hashCode
在类中Object
- 另请参阅:
Resource.getDescription()
toString
public String toString()
This implementation returns the description of this resource.- 覆盖:
toString
在类中Object
- 另请参阅:
Resource.getDescription()