如何解析属性文件中的属性值

时间:2011-01-14 09:50:41

标签: java properties-file

您好 我正在加载属性文件以建立数据库连接, 例如:

DB1="JDBc................", username , password

上面的行与属性文件一样,但是当我调用getConnection方法时,我需要发送url,username和pw。 我该如何解析呢。

3 个答案:

答案 0 :(得分:7)

您可以将键/值对放在如下的属性文件中:

dbUrl = yourURL
username = yourusername
password = yourpassword

然后,您可以从属性文件中将它们加载到您的应用中:

private void loadProps() {
    try {
        InputStream is = getClass().getResourceAsStream("database_props.properties");
        props = new Properties();
        props.load(is);
        is.close();
        dbConnStr = props.getProperty("dbUrl");
        username = props.getProperty("username");
        password = props.getProperty("password");
    }
    catch(IOException ioe) {
        log.error("IOException in loadProps");
        for(StackTraceElement ste : ioe.getStackTrace())
        log.error(ste.toString());
    }
}

然后您可以使用这些值来创建连接。

答案 1 :(得分:1)

  1. 您可以拆分条目:

    String dbProperty = prop.getProperty("DB1");   
    String[] dbDetails = dbProperty.split(",", 3);
    
  2. dbDetails[0]将保留您的JDBC...[1]您的username[2]您的password

    1. 更好的是,您可能希望将它们保存在不同的属性中(如lweller所说)

      db.username = scott  
      db.password = tiger  
      db.url = ....
      
    2. 通过这种方式,您可以获得更好的清晰度和控制力。

答案 2 :(得分:0)

最好单独定义

dburl =....
username =....
password = ...

如果你想解析它,你可以使用string的split方法用逗号分隔