Java Properties文件读写设计

凡是中文乱码问题,都是字符读写的编码格式不统一的问题。
一般情况下,便于统一字符编码格式,所有文件读写格式均设为utf-8模式,这些地方包括数据库字符存储格式,源代码文件编码格式,资源文件编码格式,前端页面编码格式,网络IO流字符编码格式等。
鉴于以上前提,本文着重关心的是properties资源文件的读写。下面所展示的封装类功能包括:
(1)读取资源文件中的值(处理了同一个资源文件中资源值相互引用的问题)
(2)写资源文件
(3)处理了properties文件中中文字符读取乱码问题。
关于问题(1),例如对于具有以下内容的properties文件:在test1的值中通过自定义的语法${key}来引用同一文件中的其他键值。在处理过程中,先读取字符串test1的值,再通过正则表达式匹配出key值,再按key值读取test的值,并拼凑到test1中,从而得到最终的test1的值。

test=test
test1=${test}

关于问题2,重点在于如果便捷地根据文件名获取到文件输入流,采用的方式是通过类ClassLoader根据编译后相对于classpath的路径名,获取到文件的URL,再转化为URI,由于File函数的构造函数中,提供了以文件URI为输入参数的构造器,所以便可以直接通过这种方式获得File对象,进而获得对应资源文件的输入流。
需要指出的是,在以下两种获得文件URL的方式中,区别仅在于是否通过ClassLoader,其中方式1适用于任何Java项目环境下;而方式2则仅适用于Java Application,而在Java Web应用环境下,获取不到文件URL值。

//方式1
URL url = PropsUtil.class.getClassLoader().getRes
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值