获取项目src中的文件路径并将其传递给fileoutputstream进行覆盖

时间:2017-06-09 13:58:40

标签: java properties fileinputstream fileoutputstream

通过getResourcestream成功访问属性文件,并使用fileinputstream读取。现在我需要在追加新属性

后覆盖同一个文件

问题:卡住了获取fileoutputstream所需的同一文件的路径进行覆盖。

属性文件位于 src / main / resources。并尝试从 src / main / java / com / web / my.class

进行更新
TabItem

1 个答案:

答案 0 :(得分:0)

您可以获取资源InputStream,而不是获取URL,并使用该资源来读取和写入src/main/resources中的文件:

Properties properties = new Properties();
File file = new File(this.getClass().getResource("/dme.properties").toURI());
try (InputStream is = new FileInputStream(file)) {
    properties.load(is);
}
properties.setProperty("a", "b");
try (OutputStream os = new FileOutputStream(file)) {
    properties.store(os, null);
}