java加载属性(如果不存在)创建它
我正在尝试加载属性,如果不存在,请创建一个
好的,这里是加载:
InputStream is = Store.class.getResourceAsStream("my.properties");
props.load(is);
但困难的部分是确定文件是否不存在,并在必要时创建它
试过这个:
File conf = null;
try {
conf = new File(Store.class.getResource("my.properties").getFile());
}
catch (Exception e){
// can't create file because getResource returns null again
conf = new File(Store.class.getResource("my.properties").getFile()); //WRONG
conf.createNewFile();
}
在这种情况下我能做什么
# 1 楼答案
getResource
和getResourceAsStream
可以从类路径中的任何位置加载资源。您甚至不应该假设它是文件系统中的一个文件,因为它可以位于文件系统中。jar文件。因此,如果文件丢失,则不应尝试创建该文件相反,如果要从文件系统加载文件,则应该知道要从何处加载文件。你也可以考虑一种混合方法,你首先尝试从一个资源中加载它,如果没有找到它,然后从文件系统中的特定位置加载,如果文件丢失,则创建文件。p>