使用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)
对象存储在实用程序类中的静态变量中,并通过那里访问它。但是我一直在想,实际创建一个包含一些实用函数的包装类可能会更好吗?不确定这是否有帮助。我发现的大多数示例只关注如何加载属性文件,而不是之后应该发生什么。
是否有普遍认可的方式来实现它的优点和缺点?
答案 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中,但会从客户端隐藏。