使用
*.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
卜清楚 阅读(932)
评论(0) 编辑 收藏