【问题标题】:How to take all the properties of a property file as initialized variables inside a java program?java - 如何将属性文件的所有属性作为Java程序中的初始化变量?
【发布时间】:2012-05-24 07:32:15
【问题描述】:

我在我的 java 程序中使用属性文件。

目前,每当我需要属性文件中的某些属性时,我都会使用propertyFile.getProperty(propertyKeyName);并将其放入某个变量中:String propertyName1 = propertyFile.getProperty(propertyKeyName);

如果没有明确定义变量 (propertyName1) 并使用 getProperty() 对其进行初始化,有什么方法可以将属性文件的所有 Key=Value 作为已初始化的字符串变量“字符串键” =Value”在我的程序中?

谢谢, 钱德拉

【问题讨论】:

标签: java properties getproperties


【解决方案1】:

没有。变量是在编译时声明的——它们的名称(至少是实例/静态变量)和类型被烘焙到类文件中。当名称仅在执行时才知道时,这怎么可能起作用?

如果编写一个表达式,该表达式引用了一个在执行时由于属性文件的内容而“不存在”的变量,你会发生什么?

现在你可以做的是编写一个类来通过反射初始化一个类的实例 - 你可以编写你的类:

public class Person
{
    private String firstName;
    private String lastName;
    private String jobTitle;
    // Whatever... accessors etc
}

然后使用反射创建Person 的实例,其值从属性文件填充。如果缺少某些属性(如果您愿意的话),该机制可能会在加载时失败。

【讨论】:

  • 感谢乔恩·斯基特。因为我是 Java 初学者,所以我不知道反射功能。我会去试一试...
  • @merlachandra:如果您是初学者,我建议您暂时远离反思。暂时用费力但直接的方式做事。
  • 感谢您的建议,目前我正在继续使用 getProperty() 为我的程序获取单个属性。
猜你喜欢
  • 1970-01-01
  • 2018-05-15
  • 1970-01-01
  • 1970-01-01
  • 2017-05-16
  • 2015-06-22
  • 2011-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多