转自:http://blog.youkuaiyun.com/zknxx/article/details/50909285
简单总结:
通过 类加载器 读取资源文件
路径不以./ 开头
InputStream is = ClassReadResourceDemo.class.getClassLoader().getResourceAsStream("com/zkn/newlearn/io/config.properties");
通过类读取资源
如果资源文件和类文件在同一包下,直接写资源文件的名称
没有/代表 当前类路径下,有/ 代表基于项目根路径
is = ClassReadResourceDemo.class.getResourceAsStream("config.properties");
is = ClassReadResourceDemo.class.getResourceAsStream("/com/zkn/newlearn/io/config.properties");
基于maven项目
参考:http://blog.youkuaiyun.com/bitcarmanlee/article/details/71057226
SpringBoot 读取resources下的文件
getClass().getClassLoader().getSystemResource("./excelTemplate/import/导入模板.xls")
. 输出值为:file:/C:/Users/Administrator/git/xxxx/xxxx/target/classes/
./ 输出值为:file:/C:/Users/Administrator/git/xxxx/xxxx/target/classes/
空字符串 输出值为:file:/C:/Users/Administrator/git/xxxx/xxxx/target/classes/
/ 输出值为:null
只要不是以 / 开头就能获取到资源
ClassPathResource resource = new ClassPathResource("excelTemplate/import/催米-CP导入模板.xls");