简介
本文介绍Spring的ClassPathResource工具类的使用。ClassPathResource用于加载资源文件。
用法
Resource res = new ClassPathResource(“xxx”);
构造函数参数:路径名。可以是相对路径、绝对路径。比如:”../../file1″。
示例:
Resource res = new ClassPathResource(“xxx”); //在当前目录和classpath中寻找”xxx”文件。classpath包含/src/main/resources目录
Resource常用方法
方法 | 作用 |
public File getFile() | 返回路径名对应的文件 |
注意事项
在打包为JAR后,JAR是一个压缩包,不能直接获取文件对象,要改为用流进行读取和创建:
classPathResource = new ClassPathResource("static/satellite.txt"); //打包成jar无法读取文件,要用流读取 //File file = classPathResource.getFile(); InputStream inputStream = classPathResource.getInputStream();
辅助方法
ClassLoader loader = Thread.currentThread().getContextClassLoader();
System.out.println(loader.getResource(“”).getPath()); //获取的是classpath的根路径
System.out.println(this.getClass().getResource(“”).getPath()); //获取的是相对于当前类的相对路径
System.out.println(this.getClass().getResource(“/”).getPath()); //获取的是classpath的根路径
请先
!