我有一个 EJB 2.1 应用程序,它引用一个属性文件来读取一个值。属性文件的文件名定义为
private static final String CONFIG_DIRECTORY = "config.";
private static final String PROPERTIES_FILE = CONFIG_DIRECTORY + "myapp";
要从属性文件加载和读取属性,请进行以下调用,将 PROPERTIES_FILE 作为 propertyFileName 的名称传递
this.getProperties(PROPERTIES_FILE);
该getProperties
方法使用 ResourceBundle 加载属性文件,如下所示。
public Properties getProperties (String propertyFileName) {
Properties properties = new Properties();
ResourceBundle resourceBundle = ResourceBundle.getBundle(propertyFileName);
Enumeration<String> keys = resourceBundle.getKeys();
while (keys.hasMoreElements()) {
String key = (String)keys.nextElement();
String value = resourceBundle.getString(key);
properties.put(key, value);
}
return properties;
}
现在我花了很长时间试图在应用程序的文件系统中的任何地方找到一个名为 config.myapp 的文件,但它不存在。我什至在整个文件系统中搜索了该文件,但它不存在。我查看了所有文件夹、jar 文件等,但找不到名为 config.myapp 的文件
在应用程序的根目录中有一个名为“config”的文件夹,在该文件夹中有一个名为的文件,该文件myapp.properties
具有应用程序正在读取的属性。可能config.myapp
是实际上指的是config/myapp.properties
文件吗?如果是这样,那是如何工作的?不知何故ResourceBundle
翻译config.myapp
成?config/myapp.properties