这是一个简单的问题,我找不到结论性的答案。
我可以从文件中加载字符串属性(例如:对准备好的语句的查询)config.properties
。假设我想连接要连接的数据库连接。
如果我想从文件中获取这些信息,我可以在课堂上执行以下操作:
private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("scheduler");
private static final String DRIVER = BUNDLE.getString("bd.driver");
private static final String CONNECTIONURL =BUNDLE.getString("bd.url");
....
但相反,我看到很多人建议使用属性,然后我必须对这样的事情做同样的事情(如果我想保持类静态并且没有适当的构造函数):
static {
prop = new Properties();
try { prop.load(ReportsDB.class.getClassLoader().getResourceAsStream("config.properties"));
} catch (IOException ex) {
Logger.getLogger(ReportsDB.class.getName()).log(Level.SEVERE, null, ex);
throw new RuntimeException(ex);
}
}
private static final String DRIVER = prop.getProperty("bd.driver");
private static final String CONNECTIONURL = prop.getProperty("bd.url");
那么,为什么我不应该使用 theResourceBundle
而不是Properties
当第二个更冗长时呢?