RESOURCE_BUNDLE 提供了一个键值对让我们更加容易将一些文本字符串信息放在外部,增加灵活性。
读的方法eclipse默认就带了
但是对所读的文件的编码要求一定要是iso8859-1,如果把文件换成GBK、UTF-8或者其他那么则无法读取,在上述代码则会炮出类似
的异常。
所以要想读中文,只有把文件转换为UTF-8的ascii码才可以。
一般利用java自带的工具native2ascii便可。
联想:N年前一直纳闷什么时候才会用到这个工具。原来在文件读取的时候,读的文件与被读的文件之间的编码会成为问题。JAVA支持的字符编码集是unicode,即System.out.print("\uXXXX")便可以输出在UNICODE里对应的字符,native2ascii做的就是这件事,把每个各种编码的字符转换成unicode中对应的ascii码。在iso8859-1中根本没有对应中文的ascii码那么势必无法利用这样的文件保存中文了,所以,只有使用正确的字符集对编码进行解析才可以获得想要的字符。
key1=value1
key2=value2
读的方法eclipse默认就带了
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.Locale;
/**
* @author liweigong
*/
public class Message
{
private static final String BUNDLE_NAME = "message";
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
.getBundle(BUNDLE_NAME, Locale.getDefault());
private Message()
{
}
public static String getString(String key)
{
try
{
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e)
{
e.printStackTrace();
return '!' + key + '!' + " Not Found!";
}
}
}
但是对所读的文件的编码要求一定要是iso8859-1,如果把文件换成GBK、UTF-8或者其他那么则无法读取,在上述代码则会炮出类似
Can't find resource for bundle java.util.PropertyResourceBundle, key WebImage
的异常。
所以要想读中文,只有把文件转换为UTF-8的ascii码才可以。
一般利用java自带的工具native2ascii便可。
联想:N年前一直纳闷什么时候才会用到这个工具。原来在文件读取的时候,读的文件与被读的文件之间的编码会成为问题。JAVA支持的字符编码集是unicode,即System.out.print("\uXXXX")便可以输出在UNICODE里对应的字符,native2ascii做的就是这件事,把每个各种编码的字符转换成unicode中对应的ascii码。在iso8859-1中根本没有对应中文的ascii码那么势必无法利用这样的文件保存中文了,所以,只有使用正确的字符集对编码进行解析才可以获得想要的字符。