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

用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
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值