在使用Java中的ResourceBundle类时,我们可以使用属性文件指定目录路径?

StackOverflow https://stackoverflow.com/questions/3598240

  •  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");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top