java.util.MissingResourceException:无法找到bundle java.util.PropertyResourceBundle,key的资源

时间:2017-01-11 19:45:06

标签: java servlets resourcebundle

我不知道最近发生了什么 这是我的Titles_en_US.properties文件:

WEBSITE.TITLE       = Hello World       

FOOTER.DISCLAIMER       = Disclaimer
FOOTER.TERMS_OF_USE     = Terms of Use
FOOTER.PRIVACY_POLICY   = Privacy Policy

这是我的方法:

private String getTitle() throws Exception {    
    System.out.println("\n\n==>"+getProperty("FOOTER.DISCLAIMER",LabelsFile()));
    return getProperty("WEBSITE.TITLE", LabelsFile());
}   

同一属性文件中的FOOTER.DISCLAIMERWEBSITE.TITLE,但其中一个正在运行,而另一个正在抛出以下错误:

==>Disclaimer
Resources.ResourceBundle.java:getProperty()
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key WEBSITE.TITLE

请告知我在哪里犯错?

更新
我注意到,当我提供换行时,它的工作正常。无法理解为什么资源包没有从第一行属性文件读取?

1 个答案:

答案 0 :(得分:1)

我发现当我在属性文件顶部给出换行符时,它就开始工作了。然后我搜索了为什么java ResourceBundle没有读取属性文件的第一行并找到了这个POST。在这篇文章中说:

  

加载(Reader)/存储(Writer,String)方法加载和存储   简单的基于字符的流的属性   下面指定的面向行的格式。负载(InputStream)/   store(OutputStream,String)方法的工作方式与   load(Reader)/ store(Writer,String)对,输入/输出除外   流以ISO 8859-1字符编码进行编码。

并且在上述帖子中建议将属性文件的编码更改为ISO-8859-1。