JAVA全系列 教程
3762个小节阅读:7088.4k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
想要了解Resources是什么就需要先说一下InputStreamSource接口。InputStreamSource接口是Spring框架提供的顶级接口。所有Spring访问通过流访问的资源都通过这个接口。
接口中就一个方法,getInputStream()表示获取低级资源(如文件或类路径资源)的输入流。
xxxxxxxxxx
public interface InputStreamSource {
// 返回资源的字节输入流对象
InputStream getInputStream() throws IOException;
}
而Resources接口是InputStreamSource接口的子接口。里面提供的方法比InputStreamSource接口更多,可以以更多的形式返回物理文件(如文件或类路径资源)的File、URL、InputStream、byte[]内容。
xxxxxxxxxx
public interface Resource extends InputStreamSource {
// 判断资源是否存在
boolean exists();
// 判断资源是否可以可读的
boolean isReadable();
// 判断资源流是否处于打开状态,如果处于打开状态,不允许重复读取。
boolean isOpen();
// 是否是文件
boolean isFile();
// 获取URL
URL getURL() throws IOException;
// 获取URI
URI getURI() throws IOException;
// 获取资源的文件对象
File getFile() throws IOException;
// 获取资源字节通道,用作读取
ReadableByteChannel readableChannel() throws IOException;
// 内容长度
long contentLength() throws IOException;
// 最后一次修改时间的时间戳
long lastModified() throws IOException;
// 创建一个相对资源
Resource createRelative(String relativePath) throws IOException;
// 获取资源名
String getFilename();
// 获取资源描述
String getDescription();
}
实际上我们在使用Spring框架时,很多方法参数是String类型资源路径,这个资源路径就是通过Resources来加载资源的。
Spring框架提供Resources接口就是为了标准化资源访问,对于特定的资源都有统一的前缀进行访问。