java读取properties文件时,如果包含中文,那么该中文字段读出为乱码。这是因为java中文件大多以UTF-8或GBK的方式保存,而java程序在读出properties文件时则采用unicode编码方式,这样自然会导致中文乱码情况的发生。
这里,先重现一下该问题,然后给出解决方法。
读取properties的方法如下:
源文件test.properties内容如下:
测试用例如下(注:这里利用junit进行相关测试)
执行该测试用例,结果如下:
对于该问题,解决方法就是将properties文件中内容采用第三方工具转化为unicode编码的内容。
这里采用的是UltraEdit来实现这种转化。
首先,用UltraEdit新建一个文件,然后把java的properties文件中内容拷贝并粘贴到此新建文件中,接着保存该新建文件,并在Format下拉选择框中选择“unicode-ASCCII Escaped”方式保存,就会发现该文件中中文已被转化为unicode的了。这时再执行相关测试,就会发现乱码问题已经不存在了。
经过转换后的test.properties文件如下:
执行上面测试,执行结果如下:

本文介绍了一个常见的Java编程问题——读取Properties文件时出现中文乱码的现象,并提供了解决方案。通过使用UltraEdit等工具将文件转换为Unicode编码,可以有效避免乱码问题。

被折叠的 条评论
为什么被折叠?



