gpt4 book ai didi

java - 将更改存储在通过 getClass().getResourceAsStream 读取的 .properties 文件中

转载 作者:行者123 更新时间:2023-12-05 01:00:08 25 4
gpt4 key购买 nike

我正在编写一个从 .properties 文件中读取属性的 Java Web 应用程序。由于我不知道.properties文件的绝对路径,因为它取决于应用程序将来运行的环境,所以我必须用“getClass().getResourceAsStream”加载它:

Properties props = new Properties();
props.load(getClass().getResourceAsStream("test.properties"));
message = props.getProperty("testdata");

这按预期工作。现在我想更改文件中 testdata 的值。但是我无法打开要写入的输出流,因为我仍然不知道 .properties 文件的路径。

props.setProperty("testdata", "foooo");
props.store(new FileOutputStream("?????"), null);

有没有办法获取文件的路径,或者我能否以某种方式使用已建立的属性对象?欢迎任何允许我更改 .properties 文件的想法。

最佳答案

您可以使用 getResource() 而不是使用 getResourceAsStream()

来获取 URL

然后您可以使用该 URL 读取和写入您的属性文件。

File myProps = new File(myUrl.toURI());
FileInputStream in = new FileInputStream(myProps);

等等

关于java - 将更改存储在通过 getClass().getResourceAsStream 读取的 .properties 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5589012/

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