4.1 Resource接口简介

在实际项目开发中,经常需要进行资源数据的加载。所谓资源,就是指定访问路径上的数据信息,这些资源可能来自于配置文件、网络或*.jar文件。对于资源数据的访问,在java.io包里有着完整的类定义,如InputStream、OutputStream、Reader、Writer等,但这些类的支持有限。例如,对于如下资源,可能就不好用了。

读取某个jar文件中指定的某一个文件信息。

读取一批数据信息。例如,可能有无数个Spring配置文件都采用了spring-*.xml的形式命名。

在一个目录下可能有一堆的子目录里面都有重名文件。

Spring中,由于经常需要对资源文件进行读取处理,所以专门为资源的统一访问设计了一个接口org.springframework.core.io.Resource,该接口的定义如下:

public interface Resource extends InputStreamSource 

Resource实际上是InputStreamSource的子接口,而InputStreamSource描述的是输入源,里面只定义了一个getInputStream方法,以获取输入流对象。Resource接口定义的方法如表4-1所示。

表4-1 Resource接口定义的方法