一、介绍
PathMatchingResourcePatternResolver可以用来解析资源文件,主要是用来解析类路径下的资源文件。当然它也可以用来解析其它资源文件,如基于文件系统的本地资源文件。
二、使用
2.1.获取文件系统文件
ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
Resource r = resourcePatternResolver.getResource("file:c:/test.properties");
//读取文件内容
System.out.println(org.apache.commons.io.IOUtils.toString(r.getInputStream()));
2.2.从类路径下获取指定的文件
String packageSearchPath = "classpath*:/**/i18N/messages*.properties";
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
try {
Resource[] resources = resolver.getResources("classpath*:/**/i18N/messages*.properties");
for(Resource r : resources){
System.out.println(r.getFilename()); //文件名
System.out.println(r.getURL().getPath()); //文件绝对路径
System.out.println(r.getFile()); //File对象
System.out.println(r.getInputStream()); //InputStream对象
}
} catch (IOException e) {
throw new RuntimeException("I/O failure during properties file scanning", e);
}