问题描述:
我原本是用的如下方式:(也是最常见的方式)
InputStream is = PropertyFileUtil.class.getClassLoader()
.getResourceAsStream("Config.properties");
如果我改动了Config.properties文件,重新调用上面的代码去获取输入流,则读到的内容还是改动之前的内容。也就是说,上面这种方式对于Config.properties的改动是无效的,
原因是:上面这种方法自带了缓存。如果希望能改变Config.properties时能够重新加载,则可以使用下面的方法:
InputStream is = null;
String fileUrl = ReportConfig.class.getClassLoader()
.getResource("Config.properties").getPath();
fileUrl = fileUrl.replaceAll("%20", " ");
is = new BufferedInputStream(new FileInputStream(fileUrl));
这个方法是按实际路径 用FileInputStream去读取 的,所以能够读取到改动后的Config.properties。
PS:另外我发现一点, 在Websphere服务器上,替换了Config.properties文件,然后再重新读取配置内容,依然获得的是替换之前的内容 ,这就不是缓存的问题了,而是Websphere隐藏了最原始那份Config.properties文件,我们替换时不能将这个原始的版本替换掉(我们替换掉的实际上是只是一个副本)。貌似在Websphere上替换class和properties文件都需要重启服务器才会生效。我哪天把properties文件的后缀伪装成.jsp再试试………
以上所述就是小编给大家介绍的《properties文件改变不生效的问题》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- @Transactional事务生效问题
- UI抗锯齿不生效原因
- View.requestLayout() 不生效的问题
- C# Redis 过期机制不生效问题
- DrawMeshInstanced在Unity2018上不生效
- 通过 Chrome Console 填写表单内容未生效
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
逆向工程核心原理
[韩] 李承远 / 武传海 / 人民邮电出版社 / 2014-4-25 / 109.00元
本书十分详尽地介绍了代码逆向分析的核心原理。作者在Ahnlab 研究所工作多年,书中不仅包括其以此经验为基础亲自编写的大量代码,还包含了逆向工程研究人员必须了解的各种技术和技巧。彻底理解并切实掌握逆向工程这门技术,就能在众多IT 相关领域进行拓展运用,这本书就是通向逆向工程大门的捷径。 想成为逆向工程研究员的读者或正在从事逆向开发工作的开发人员一定会通过本书获得很大帮助。同时,想成为安全领域......一起来看看 《逆向工程核心原理》 这本书的介绍吧!
在线进制转换器
各进制数互转换器
RGB HSV 转换
RGB HSV 互转工具