在使用Java中的ResourceBundle类时,我们可以使用属性文件指定目录路径?
-
02-10-2019 - |
题
我想将我的属性文件放在某个文件夹中,但是我无法阅读它们,因为我们只能在static中指定套件名称 getBundle()
方法开 ResourceBundle 目的。
假设捆绑包是: myfile.properties
当前路径是: src
我想将我的属性文件保存在: src/temp
因此,当我使用时:
ResourceBundle.getBundle("temp/myfile", currentLocale);
它抛出了一个例外“找不到捆绑包”。我想要某种方法来指定路径。请给我一些方法来做到这一点。
谢谢
解决方案
用这个:
ResourceBundle.getBundle("temp.myfile", currentLocale);
这 baseName
提供的 ResourceBundle.getBundle
呼叫应该是完全合格的班级名称。因此,它必须用点分开。另请注意,这使得 temp
您的Java代码中的软件包(我认为这不是一个好主意)。最好将属性文件放入正确的包装中 com.xyz.abc
. 。然后,您可以使用
ResourceBundle.getBundle("com.xyz.abc.myfile", currentLocale);
其他提示
您可能使用错误的文件名(myfile!= myfile)。
对于文件 myFile.properties
在目录中 temp
在班级路径上,此代码应起作用:
ResourceBundle.getBundle("temp.myFile");
不隶属于 StackOverflow