本文主要是介绍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
这篇关于Java Properties文件读写设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!