我想写入* .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);
这也是我的文件结构:
我感谢你的回答!!!
UPDATE
InputStream in = ClassLoader.getSystemResourceAsStream(filename);
我的问题是,如何从特定路径加载它?
这是我的“新”文件结构:
最佳答案
这是我的测试代码:
@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
所以也许你想做的事永远不会奏效.