6

我想写入 *.properties 文件。这就是我的代码我如何做到这一点:

    properties = loadProperties("user.properties");//loads the properties file
    properties.setProperty(username, password);
        try {
                properties.store(new FileOutputStream("user.properties"), null);
                System.out.println("Wrote to propteries file!" + username + " " + password);

我没有得到异常,但我也没有将输出写入文件。

这也是我的文件结构:

在此处输入图像描述

我很感谢你的回答!!!

更新

我加载我的属性文件:

    InputStream in = ClassLoader.getSystemResourceAsStream(filename);

我的问题是,如何从特定路径加载它?

这是我的“新”文件结构:

在此处输入图像描述

4

1 回答 1

4

这是我的测试代码:

@Test
public void fileTest() throws FileNotFoundException, IOException {

    File file = null;

    Properties props = new Properties();

    props.setProperty("Hello", "World");

    URL url = Thread.currentThread().getContextClassLoader()
            .getResource("exceptions/user.properties");

    try {
        file = new File(url.toURI().getPath());

        assertTrue(file.exists());
    } catch (URISyntaxException e) {

        e.printStackTrace();
    }

    props.store(new FileOutputStream(file), "OMG, It werks!");

}

它确实在我的 target/classes/exceptions 目录(在 maven/eclipse proyect 中)中创建并重写了一个文件,所以我猜它确实有效,但当然这没有在 JAR 文件中进行测试。

这是文件:

#OMG, It werks!
#Sat Nov 10 08:32:44 CST 2012
Hello=World

另外,检查这个问题:我如何将文件保存到类路径

所以也许你想做的事情永远不会奏效。

于 2012-11-10T14:11:31.740 回答