properties文件改变不生效的问题

栏目: Java · 发布时间: 7年前

问题描述:

我原本是用的如下方式:(也是最常见的方式)

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文件改变不生效的问题》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JSP & Servlet学习笔记

JSP & Servlet学习笔记

【台湾】林信良 / 清华大学出版社 / 2012-5 / 58.00元

本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做了全面更新。书中详细介绍了Servlet/ JSP与Web容器之间的关系,必要时从Tomcat源代码分析,了解Servlet/ JSP如何与容器互动。本书还涵盖了文本处理......一起来看看 《JSP & Servlet学习笔记》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具