博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序中加载资源文件
阅读量:6257 次
发布时间:2019-06-22

本文共 1423 字,大约阅读时间需要 4 分钟。

转载请注明出处

原文排版地址

加载资源文件

@Value("mq_service.properties")private ClassPathResource resource;Properties properties = null;try {    InputStream in = resource.getInputStream();    properties = new Properties();    properties.load(in);} catch (IOException e) {    e.printStackTrace();}

如果报Null Exception ,并且实现 BeanFactoryPostProcessor

不要实现BeanFactoryPostProcessor接口,使用注释

@postConstruct

原生代码形式

InputStream in = MqCoreService.class.getClassLoader().getResourceAsStream("mq_service.properties");

war 读取

Resource resource = ResourceLoader.getResource("classpath:GeoLite2-Country.mmdb");File dbAsFile = resource.getFile();

Load file from JAR

Use ClassLoader#getResource() instead if its URI represents a valid local disk file system path.

URL resource = classLoader.getResource("resource.ext");File file = new File(resource.toURI());FileInputStream input = new FileInputStream(file);

If it doesn't (e.g. JAR), then your best bet is to copy it into a temporary file.

Path temp = Files.createTempFile("resource-", ".ext");Files.copy(classLoader.getResourceAsStream("resource.ext"), temp, StandardCopyOption.REPLACE_EXISTING);FileInputStream input = new FileInputStream(temp.toFile());// ...

RSA.class.getClassLoader() = classLoader

Load file from Spring Boot JAR (亲测无效)

Resource resource = resourceLoader.getResource("classpath:GeoLite2-Country.mmdb");InputStream dbAsStream = resource.getInputStream(); // <-- this is the difference

参考网站

你可能感兴趣的文章
Tomcat集群
查看>>
shell脚本中输出带颜色字体实例分享及chrony时间同步
查看>>
简单计时
查看>>
面试心得
查看>>
linux系统时间同步,硬件时钟和系统时间同步,时区的设置
查看>>
CentOS下载包格式说明
查看>>
VMware Vsphere 6.0安装配置 二安装vcenter server程序
查看>>
关于CISCO asa5510防火墙端口映射配置
查看>>
2012年6月美国最佳虚拟主机提供商TOP12性能评测
查看>>
monkey详细介绍之二
查看>>
两列布局之左边固定宽度,右边自适应(绝对定位实现方法)
查看>>
4,gps信号与地图匹配算法
查看>>
python print的用法
查看>>
之字形打印矩阵
查看>>
我的世界之电脑mod小乌龟 —— 方位上的操作 lua函数集
查看>>
游戏方案
查看>>
在 Linux 下搭建 Git 服务器
查看>>
StackExchange.Redis Client(转载)
查看>>
Leetcode题目:Bulls and Cows
查看>>
bk. 2014.12.1
查看>>