我想写入* .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);
我的问题是,如何从特定路径加载它?
这是我的“新”文件结构:
答案 0 :(得分: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
另外,请检查此问题:How can i save a file to the class path
所以也许你想做的事永远不会奏效。