类 PathResource
- java.lang.Object
- org.springframework.core.io.AbstractResource
- org.springframework.core.io.PathResource
- 所有已实现的接口:
InputStreamSource,Resource,WritableResource
public class PathResource extends AbstractResource implements WritableResource
Resourceimplementation forPathhandles, performing all operations and transformations via thePathAPI. Supports resolution as aFileand also as aURL. Implements the extendedWritableResourceinterface.Note: As of 5.1,
Pathsupport is also available inFileSystemResource, applying Spring's standard String-based path transformations but performing all operations via theFilesAPI. ThisPathResourceis effectively a purejava.nio.path.Pathbased alternative with differentcreateRelativebehavior.- 从以下版本开始:
- 4.0
- 作者:
- Philippe Marschall, Juergen Hoeller
- 另请参阅:
Path,Files,FileSystemResource
构造器概要
构造器 构造器 说明 PathResource(String path)Create a new PathResource from a Path handle.PathResource(URI uri)Create a new PathResource from a Path handle.PathResource(Path path)Create a new PathResource from a Path handle.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 longcontentLength()This implementation returns the underlying file's length.ResourcecreateRelative(String relativePath)This implementation creates a PathResource, applying the given path relative to the path of the underlying file of this resource descriptor.booleanequals(Object other)This implementation compares the underlying Path references.booleanexists()This implementation returns whether the underlying file exists.StringgetDescription()Return a description for this resource, to be used for error output when working with the resource.FilegetFile()This implementation returns the underlying File reference.StringgetFilename()This implementation returns the name of the file.InputStreamgetInputStream()This implementation opens a InputStream for the underlying file.OutputStreamgetOutputStream()This implementation opens a OutputStream 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 Path 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's timestamp.ReadableByteChannelreadableChannel()This implementation opens a Channel for the underlying file.WritableByteChannelwritableChannel()This implementation opens a Channel for the underlying file.从类继承的方法 org.springframework.core.io.AbstractResource
getFileForLastModifiedCheck, isOpen, toString
构造器详细资料
PathResource
public PathResource(Path path)
Create a new PathResource from a Path handle.Note: Unlike
FileSystemResource, when building relative resources viacreateRelative(java.lang.String), the relative path will be built underneath the given root: e.g. Paths.get("C:/dir1/"), relative path "dir2" -> "C:/dir1/dir2"!- 参数:
path- a Path handle
PathResource
public PathResource(String path)
Create a new PathResource from a Path handle.Note: Unlike
FileSystemResource, when building relative resources viacreateRelative(java.lang.String), the relative path will be built underneath the given root: e.g. Paths.get("C:/dir1/"), relative path "dir2" -> "C:/dir1/dir2"!- 参数:
path- a path- 另请参阅:
Paths.get(String, String...)
PathResource
public PathResource(URI uri)
Create a new PathResource from a Path handle.Note: Unlike
FileSystemResource, when building relative resources viacreateRelative(java.lang.String), the relative path will be built underneath the given root: e.g. Paths.get("C:/dir1/"), relative path "dir2" -> "C:/dir1/dir2"!- 参数:
uri- a path URI- 另请参阅:
Paths.get(URI)
方法详细资料
exists
public boolean exists()
This implementation returns whether the underlying file exists.- 指定者:
exists在接口中Resource- 覆盖:
exists在类中AbstractResource- 另请参阅:
Files.exists(Path, java.nio.file.LinkOption...)
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).
getInputStream
public InputStream getInputStream() throws IOException
This implementation opens a InputStream 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- 另请参阅:
FileSystemProvider.newInputStream(Path, OpenOption...)
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).
getOutputStream
public OutputStream getOutputStream() throws IOException
This implementation opens a OutputStream for the underlying file.- 指定者:
getOutputStream在接口中WritableResource- 抛出:
IOException- if the stream could not be opened- 另请参阅:
FileSystemProvider.newOutputStream(Path, OpenOption...)
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- 另请参阅:
Path.toUri(),URI.toURL()
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- 另请参阅:
Path.toUri()
isFile
public boolean isFile()
This implementation always indicates a file.- 指定者:
isFile在接口中Resource- 覆盖:
isFile在类中AbstractResource- 另请参阅:
Resource.getFile()
getFile
public File getFile() throws IOException
This implementation returns the underlying File reference.- 指定者:
getFile在接口中Resource- 覆盖:
getFile在类中AbstractResource- 抛出:
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 opens a Channel 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- 另请参阅:
Files.newByteChannel(Path, OpenOption...)
writableChannel
public WritableByteChannel writableChannel() throws IOException
This implementation opens a Channel 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- 另请参阅:
Files.newByteChannel(Path, OpenOption...)
contentLength
public long contentLength() throws IOException
This implementation returns the underlying file's 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's timestamp.- 指定者:
lastModified在接口中Resource- 覆盖:
lastModified在类中AbstractResource- 抛出:
IOException- if the resource cannot be resolved (in the file system or as some other known physical resource type)- 另请参阅:
Files.getLastModifiedTime(Path, java.nio.file.LinkOption...)
createRelative
public Resource createRelative(String relativePath)
This implementation creates a PathResource, 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
- 另请参阅:
Path.resolve(String)
getFilename
public String getFilename()
This implementation returns the name of the file.- 指定者:
getFilename在接口中Resource- 覆盖:
getFilename在类中AbstractResource- 另请参阅:
Path.getFileName()
getDescription
public String getDescription()
从接口复制的说明:ResourceReturn 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
toStringmethod.- 指定者:
getDescription在接口中Resource- 另请参阅:
Object.toString()
equals
public boolean equals(@Nullable Object other)
This implementation compares the underlying Path references.- 覆盖:
equals在类中AbstractResource- 另请参阅:
Resource.getDescription()
hashCode
public int hashCode()
This implementation returns the hash code of the underlying Path reference.- 覆盖:
hashCode在类中AbstractResource- 另请参阅:
Resource.getDescription()