ResourceBundle读取中文properties文件问题

时间:2023-03-08 17:16:51
ResourceBundle读取中文properties文件问题

昨天遇到一个问题,用ResourceBundle读取中文字符串资源文件时,死活读不出来。

一开始以为是文件路径不对,后来发现如果默认properties文件时英文就没问题。我的项目代码是在src目录下,用

ResourceBundle.getBundle("res/strings", Locale.getDefault())

代表properties文件在src/res文件下。

在网上查了一番,才知道Java在读取properties文件时,只认识ASCii码。我一开始想在eclipse中显示汉字,而不是\u8f93\u5165\这种形式,所以乱调整文件的字符集。eclipse的字符集转换是有问题的,我先由默认的字符集转成unicode,然后再转回来,此时字符间都被插入了一个额外的空格,所以代码中读不出来。

解决方法是用记事本将properties文件打开,另存为ASCii格式,这样代码中就可以读取出来了。