java中获取properties文件的中文,字符编码格式问题。_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java中获取properties文件的中文,字符编码格式问题。

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

 2012/1/31 9:22:37  rothmada  程序员俱乐部  我要评论(0)
  • 摘要:因为项目需要,写了一个properties文件的存储与读取一些系统变量。在有中文的情况下,文件存储正常,文件读取有问题,读取出来的value是一些格式化的字符,例如:\u2050;properties文件读取代码:publicPropertiesAnalyze(){prop=newProperties();Filef=newFile(this.path);BufferedReaderread=null;try{read=newBufferedReader(newFileReader(f))
  • 标签:文件 Java 问题

因为项目需要,写了一个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 block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.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 block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if (read != null) {
                try {
                    read.close();
                } catch (IOException e1) {
                }
            }

		}
	}

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

发表评论
用户名: 匿名