Java 如何解析属性文件中的属性值
嗨 我正在加载属性文件以建立数据库连接, 例: 上面的行和属性文件中的一样,但当我调用getConnection方法时,我需要发送url、用户名和pw。 我如何解析它Java 如何解析属性文件中的属性值,java,properties-file,Java,Properties File,嗨 我正在加载属性文件以建立数据库连接, 例: 上面的行和属性文件中的一样,但当我调用getConnection方法时,我需要发送url、用户名和pw。 我如何解析它 您可以拆分条目: String dbProperty = prop.getProperty("DB1"); String[] dbDetails = dbProperty.split(",", 3); dbDetails[0]将保存您的JDBC…,[1]您的用户名和[2]您的密码 更好的是,你可能想把它们放在不同的地方(
String dbProperty = prop.getProperty("DB1");
String[] dbDetails = dbProperty.split(",", 3);
dbDetails[0]
将保存您的JDBC…
,[1]
您的用户名
和[2]
您的密码
String dbProperty = prop.getProperty("DB1");
String[] dbDetails = dbProperty.split(",", 3);
dbDetails[0]
将保存您的JDBC…
,[1]
您的用户名
和[2]
您的密码
这样可以获得更好的清晰度和控制。最好单独定义
dburl =....
username =....
password = ...
不过,如果您想解析它,可以使用string的split方法通过逗号进行拆分最好单独定义
dburl =....
username =....
password = ...
不过,如果您想解析它,可以使用string的split方法按逗号分割。您可以将键/值对放入如下属性文件中:
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());
}
}
然后您可以使用这些值创建连接。您可以将密钥/值对放入如下属性文件:
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());
}
}
然后您可以使用这些值来创建连接。为什么不将其分为几个属性(url、用户名、密码)我不明白这个问题。。。用逗号分割字符串,就这样了。如果第一部分是JDBCURL,那么其余部分很简单。但是正如lweller所说,在这种情况下,你应该使用三个属性。为什么不把它分成几个属性(url、用户名、密码)我不明白这个问题。。。用逗号分割字符串,就这样了。如果第一部分是JDBCURL,那么其余部分很简单。但正如lweller所说,在这种情况下,您应该使用三个属性。一些解决方案使用
getClass().getResourceAsStream
,而其他解决方案使用getClass().getClassLoader().getResourceAsStream
。有区别吗?一些解决方案使用getClass().getResourceAsStream
,而其他解决方案使用getClass().getClassLoader().getResourceAsStream
。有区别吗?