在Java中使用ResourceBundle类时,我们可以通过属性文件指定目录路径吗?
我想将属性文件放在某个文件夹中,但我无法读取它们,因为我们只能在 ResourceBundle 对象上的静态 getBundle()
方法中指定包名称。
假设捆绑包是:myFile.properties
当前路径是:src
我想将我的属性文件保存在:src/temp
所以当我使用:
ResourceBundle.getBundle("temp/myfile", currentLocale);
它抛出一个异常“找不到包”。我想要某种方式来指定路径。请建议我一些方法来做到这一点。
谢谢
I want to place my properties files in some folder, but I am not able to read them because we can specify only the bundle name in static getBundle()
method on ResourceBundle object.
Suppose bundle is: myFile.properties
Current path is: src
I want to keep my properties file in: src/temp
So when I am using:
ResourceBundle.getBundle("temp/myfile", currentLocale);
it is throwing an exception "can't find bundle". I want some way to specify the path. Please suggest me some way to do this.
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用这个:
ResourceBundle.getBundle
调用中提供的baseName
应该是完全限定的类名。所以必须用点分开书写。另请注意,这会使temp
成为您的 java 代码中的包(我认为这不是一个好主意)。最好将属性文件放在适当的包中,例如 com.xyz.abc。然后你可以使用它访问它Use this:
The
baseName
supplied in theResourceBundle.getBundle
call is supposed to be a fully qualified class name. So it has to be written separated with dots. Also note that this makestemp
a package in your java code (which I don't think is a good idea). It is better to put the properties file in a proper package likecom.xyz.abc
. Then you can access it using您可能使用了错误的文件名(myfile != myFile)。
对于类路径上的目录
temp
中的文件myFile.properties
,以下代码应该有效:It is possible that you are using the wrong filename (myfile != myFile).
For a file
myFile.properties
in a directorytemp
on the classpath, this code should work: