关闭

Java属性文件的一个缺憾(Java缺点之二:属性文件)

1464人阅读 评论(1) 收藏 举报

用Java读取Properties文件内容是我们通常使用 new FileInputStream(filePathName).load(props),这之后就直接对props作getProperty就可以取出属性,保存时props.store(out, header)就可以,很简单。但不能不提出的是,这样的操作,

1. 如果值是汉字,getProperty后必须在外面转码,否则是一串的?;

2. 根本不支持中文key

3. 如果将存在中文(不管是value还是value)的properties保存进去,都变成了字节码!

ResourceBundle表面上提供了Locale的操作,但感觉作用仅仅是通过locale找文件名,本身并没有作字符串的转码(不过也有一个不太令人注意的好处:我发现里面loadBundle方法提供我们访问jar文件的代码:) ),其它操作与Properties没有任何不同。

但昨天本人发现FileInputStream的read、write操作本身是支持中英文,这样一来,就不明白它为何在上述两个类操作时给留下这么大的缺憾了!

为此,我们在读写文件是,自己从stream中取出"="两边的东西在封装成properties为好,写入时将name和value以"="连接一下就好,这个操作也非常简单。操作代码咱放在家里,以后开帖再Paste近来。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    最新评论
    理财参考