使用
*.properties
文件,發生下面的錯誤,但是
PlatForm.properties
放置路徑很正確,放在了
classes
下。
java.util.MissingResourceException: Can't find bundle for base name PlatForm, locale zh_CN
?????? at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
?????? at java.util.ResourceBundle.getBundleImpl(Unknown Source)
?????? at java.util.ResourceBundle.getBundle(Unknown Source)
?
上述錯誤,首先懷疑是路徑不對或者是不能查找
.properties
所在的路徑。這樣,就用
PropertyResourceBundle
進行加載,它可以指定
InputStream
。如下:
public static ResourceBundle loadProperties(String path){
??????
?? System.out.println("path : " + path);
??????
?? System.out.println((new File(path + "WEB-INF\\classes\\" + file + ".properties")).getAbsolutePath());
??????
?? FileInputStream fis=null;
?????? try {
????????????? fis = new FileInputStream(new File(path + "WEB-INF\\classes\\" + file + ".properties"));
?????? } catch (FileNotFoundException e) {
????????????? // TODO Auto-generated catch block
????????????? e.printStackTrace();
?????? }
ResourceBundle ?reb =null;
?? try {
?????????????
?? reb = new PropertyResourceBundle(fis);
?????? } catch (IOException e) {
????????????? // TODO Auto-generated catch block
????????????? e.printStackTrace();
?????? }
??????
?? return reb;
?? }
測試后,錯誤如下:
java.lang.IllegalArgumentException: Malformed \uxxxx encoding.
?????? at java.util.Properties.loadConvert(Unknown Source)
?????? at java.util.Properties.load(Unknown Source)
懷疑是文件編碼不對,隨更換文件編碼多種,錯誤依舊。
然后,仔細查看
.properties
文件,發現有如下一行配置:
userErrPage=D:\eclipse\workspace\TestStruts\common\userPageErr.jsp
隨將“
\
”更改為“
\\
”,錯誤消失。
這次是非常幸運的碰到了
\u
了,呵呵。
posted on 2007-03-23 13:14
卜清楚 閱讀(935)
評論(0) 編輯 收藏