读书人

java中获取properties文件的中文字符

发布时间: 2012-08-29 08:40:14 作者: rapoo

java中获取properties文件的中文,字符编码格式问题。

因为项目需要,写了一个properties文件的存储与读取一些系统变量。

在有中文的情况下,文件存储正常,文件读取有问题,读取出来的value是一些格式化的字符,例如:\u2050;

?

properties文件读取代码:

public  PropertiesAnalyze(){prop = new Properties();File f = new File(this.path);BufferedReader read = null;try {read = new BufferedReader(new FileReader(f));String tempString = read.readLine();            // 一次读入一行,直到读入null为文件结束            while (tempString != null) {//            tempString = tempString.trim();                if(tempString.contains("=")){                String s[] = tempString.split("=");                this.map.put(s[0].trim(), s[1].trim());                }                tempString = read.readLine();            }            read.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if (read != null) {                try {                    read.close();                } catch (IOException e1) {                }            }}}

?使用这种方式读取出来的就是中文“乱码”。

?

之后改用properties类来读取文件:

public  PropertiesAnalyze(){prop = new Properties();File f = new File(this.path);BufferedReader read = null;try {read = new BufferedReader(new FileReader(f));prop.load(read);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if (read != null) {                try {                    read.close();                } catch (IOException e1) {                }            }}}

?用这种方式读取文件中的中文字符没有问题。

读书人网 >编程

热点推荐