Java:加载后访问Properties对象的方法

时间:2016-04-16 13:10:55

标签: java properties architecture

使用Properties()文件加载.properties对象后,访问Properties对象的正确方法是什么?

我过去使用的一种方法是将每个def addtolist(): number = input("Enter number: ") try: factor = input("Enter factor: ") except SyntaxError: factor = 1 for i in range(factor): listname.append(number) 对象存储在实用程序类中的静态变量中,并通过那里访问它。但是我一直在想,实际创建一个包含一些实用函数的包装类可能会更好吗?不确定这是否有帮助。我发现的大多数示例只关注如何加载属性文件,而不是之后应该发生什么。

是否有普遍认可的方式来实现它的优点和缺点?

2 个答案:

答案 0 :(得分:1)

就像Rob Conklin所说,为了(以后)能够切换基于属性文件的存储,保持抽象级别可能是件好事。

但是,您可以将自己的属性与System.getProperty()合并,以便从程序中的任何位置轻松访问

FileInputStream propFile = new FileInputStream("myProperties.properties");
Properties p = new Properties(System.getProperties());
p.load(propFile);
// set the system properties
System.setProperties(p);

您最新设置的属性将覆盖其他属性(如果名称冲突)

然后您可以稍后访问该属性 System.getProperty("propName");

答案 1 :(得分:0)

为自己做一个巨大的帮助,并围绕您的属性文件访问创建一个DAO。在我工作的大多数系统中,我们总是希望我们有这种抽象,它允许属性文件在未来的某个时刻成为数据库驱动。

您可以将其作为静态变量缓存在DAO中,但会从客户端隐藏。