gpt4 book ai didi

java - 在运行时更新资源文件

转载 作者:行者123 更新时间:2023-12-02 02:44:18 28 4
gpt4 key购买 nike

当我的应用程序启动时,它使用以下代码读取配置属性文件:

        Properties properties = new Properties();

// parse the config resource

try (InputStream input = getClass().getClassLoader().getResourceAsStream(filename))
{
if (input == null)
{
// throw exception
}

// read the property list (key-value pairs) from the input byte stream
properties.load(input);
}

我能够读取和设置各个属性。

属性文件位于src/main/resources中,在我使用maven构建应用程序后,它的副本被放置在target/classes中。当我打开创建的 jar 文件时,它的根目录中也有它的副本。

我还希望能够覆盖属性文件,以便下次应用程序启动时,它将读取新的更新文件。我该如何实现这一目标?有可能吗?

我找到了this有问题但没有答案。

我已经尝试过这个:

        try (OutputStream output = new FileOutputStream(filename))
{
properties.store(output, null);
}

如果我只想完全创建一个新文件,那么它就有效。然后,我必须修改应用程序,以便它从给定的文件夹中读取,而不是从资源文件夹中读取。这是我应该做的吗?

我对 Java 还很陌生,所以请放轻松。

最佳答案

初始默认属性存储在 jar 文件中,作为资源就可以了。

但是如果您希望它们可写,那么您需要将它们作为文件真正存储在磁盘上的某个位置。通常,位于用户主目录内的 .yourapp 目录下(或在 .yourapp 文件中)。

因此,请尝试查找该文件,如果不存在,则回退到资源。写入时,始终写入文件。

关于java - 在运行时更新资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44889793/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com