java - 有什么方法可以更改类路径中的属性文件吗?

标签 java properties jvm classpath

我的类路径中有一个属性文件。我的要求是根据我从参数中获得的一些输入更改此文件中的一些属性。参数的性质决定我是否需要更改属性以及如果需要更改哪些属性。问题是所有类路径条目都是在应用程序启动时加载的,因此从我的应用程序内部进行更改不会产生任何效果。我该如何克服这个问题?

我能想到的一个可能的解决方案是不在类路径中添加此属性文件,而是在修改完成后添加。它可行吗?有什么好的解决方案吗?

最佳答案

该文件是否位于您的类路径中并不重要。它是一个文件:如果您覆盖其内容,它就会发生变化。启动时并没有神奇地生成一些内存中的副本。这与加载并可能需要在运行时更改的非常不同。

符合正确格式的属性文件可以读入 java.util.Properties目的。您可以这样做,使用该对象根据需要更改属性,然后将其写回到文件中。检查该类中的 storeload 方法。请注意,如果您使用采用 Output/InputStream 的版本,则编码是硬编码的。如果文件的编码不是 ISO-8859-1,请使用具有适当 Writer/Reader 的方法。

关于java - 有什么方法可以更改类路径中的属性文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7804303/

相关文章:

java - 如何在运行时更改 View 大小

java - 在 Eclipse 编辑器中覆盖关闭操作

PHP 对象 : property Object Vs stdClass Object - which one is better?

java - JVM如何存储类的元信息?

java - 使用最少的批处理发送不同大小的文档

java - 删除数组中的元素,这些元素是 Java 中其他元素的子串

用于在类中注册标签的 Python Decorator

JavaScript 类

c++ - JNI 从 c 调用 java 得到段错误(核心转储)

Java user.home 被设置为 %userprofile% 并且没有被解析