我在我的 java 程序中使用属性文件。
目前,每当我需要属性文件中的某些属性时,我都会使用 propertyFile.getProperty(propertyKeyName);
并将其放入某个变量中:String propertyName1 = propertyFile.getProperty (propertyKeyName);
有没有什么方法可以在不显式定义变量(propertyName1
)并使用getProperty()
初始化它的情况下,获取a的所有Key=Value属性文件作为字符串变量,已在我的程序中初始化为“String Key=Value”?
谢谢, 钱德拉
最佳答案
没有。变量在编译时声明 - 它们的名称(至少是实例/静态变量)和类型被烘焙到类文件中。当名称仅在执行时才知道时,这怎么可能行得通?
如果编写的表达式引用了由于属性文件的内容而在执行时“不存在”的变量,您会期望发生什么?
现在您可以做的是编写一个类来通过反射初始化类的实例 - 您可以编写您的类:
public class Person
{
private String firstName;
private String lastName;
private String jobTitle;
// Whatever... accessors etc
}
然后使用反射创建一个 Person
实例,并使用从属性文件填充的值。如果缺少某些属性(如果您希望如此),该机制可能会在加载时失败。
关于java - 如何在java程序中将属性文件的所有属性作为初始化变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10733068/