使用默认值在java中进行应用程序配置
我试图创建一个带有默认值的java属性文件,但是我看到的所有示例都是关于读取已经存在的java属性文件,或者不关心前面的内容而编写的,并且似乎没有涉及使用默认值 基本上我想做的是使用默认值在java中进行应用程序配置,java,properties,Java,Properties,我试图创建一个带有默认值的java属性文件,但是我看到的所有示例都是关于读取已经存在的java属性文件,或者不关心前面的内容而编写的,并且似乎没有涉及使用默认值 基本上我想做的是 加载与应用程序捆绑在一起的默认配置文件(在jar文件内) 从应用程序根文件夹加载自定义配置文件(如果存在) #File user.properties: user=user name=name 如果自定义配置文件不存在,则根据与应用程序捆绑的默认配置编写一个注释为“不做任何事情”的配置 #File user.pr
#File user.properties:
user=user
name=name
#File user.properties:
#user=default
#pwd=default
#File app.properties:
user=user
pwd=default
name=name
user=default
pwd=default
pwd=user
name=user
文件user.properties:
user=default
pwd=default
pwd=user
name=user
将被打印:{user=default,name=user,pwd=user}
class Main {
public static void main(final String [] args) throws IOException {
//load default properties
final Properties defaultProp = new Properties();
defaultProp.load(Main.class.getResourceAsStream("default.properties"));
//load user properties
final Properties userProp = new Properties();
userProp.load(new FileInputStream(new File("./user.properties")));
final Properties appProp = new Properties();
//mix properties
appProp.putAll(defaultProp);
appProp.putAll(userProp);
System.out.println(appProp);
}
}
java.util.Properties扩展了实现java.util.Map的java.util.Hashtable,所以您可以使用Map中的所有方法。很抱歉,让我重写一下这个注释。如何检查文件是否已经存在,如第3点所示。如果文件不存在,您可以使用以下代码:file f=new file(“./user.properties”);如果(f.exists()){//load prop}否则{//do nothing}好的,谢谢,我想我对构造文件对象的构造函数和创建新文件的构造函数感到困惑。您还可以使用默认的
属性
对象作为输入来构造自定义属性@看见