我是 Java 开发新手,所以我对 .properties 文件有点困惑。我知道 JVM 在运行时如何查找它们,但我有一个稍微不同的问题。
我的项目文件夹中有一个
resources
目录,其中有一个 strings
子目录,我在其中存储所有语言的所有字符串值,有点像在 Android Studio 中创建空项目时一样。
我想访问项目中所有包的
strings
目录中包含的 .properties 文件。
每次我尝试调用 ResourceBundle.getBundle() 并指定名称和区域设置时,都会收到一个异常,告诉我我的包不存在。
strings_en.properties
重命名为 strings_en.java
,对于意大利语文件也是如此。我希望有人能解释我如何实现这个以及将来如何使用属性文件。
提前致谢。
您走在正确的道路上!编译时,resources文件夹中的文件会被移动到根目录。不过,它们不会移出任何父文件夹,因此您仍然必须提供作为资源文件夹的直接子级的任何文件夹的相对路径。
所以这是你的结构:
resources
strings
strings_en.properties
strings_it.properties
这样,调用 ResourceBundle.getBundle("strings/strings", Locale.English) 应该返回 strings_en.properties 值。
# strings/strings_en.properties
hello=hello
public static void readProperties() {
ResourceBundle bun = ResourceBundle.getBundle("strings/strings", Locale.ENGLISH);
System.out.println(bun.getString("hello"));
}
prints: hello