`
rothmada
  • 浏览: 83894 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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 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) {
                }
            }

		}
	}

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

分享到:
评论

相关推荐

    myEclipse乱码解决办法

    在Myeclipse导入一个项目,有中文乱码问题,解决方法如下: 一、将整个project设置编码UTF-8...六、eclipse的控制台显示所使用的编码是继承了workspace设置的字符编码格式(也就是上面“二”中设置的编码格式)。

    log4j乱码问题解决办法

    在log4j.properties配置文件中可以指定字符编码: 下面这行配置指定了两个appender: log4j.rootCategory=INFO,appender1的名字,appender2的名字 下面这两行配置将上一行的两个appender的字符编码配置为GBK:

    Java之JDBC连接MySQL数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题 使用预编译对象PreparedStatement)

    Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题 使用预编译对象PreparedStatement) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬...

    Neusoft公司Java编码规范

    Neusoft公司Java编码规范 目的 5 范围 6 前提条件 7 Java编码规范概要 8 1 代码风格 8 1.1 一般格式说明 8 1.2 基本结构 8 2 代码结构 9 2.1 变更履历 9 2.2 Package声明 11 2.3 Import声明 12 2.4 Class Header 13 ...

    java中文乱码解决方案

    charset=UTF-8"%> <%@ page pageEncoding="UTF-8" %>1.1 在jsp页面设定字符编码。这边有必有说明的是如果是jsp+java bean+servlet的方案,中文乱码很好解决,统一设成gb2312就可以了。 1.2 使用struts框架字符集不能...

    java配置文件 beta v3.0

    配置文件能加强程序的可变更性,该程序包支持XML,ini,txt,properties等配置文件以及自定义格式的配置文件,读写时请注意字符编码,默认gb2312. whsvc

    JAVA工具类

    CharsetDetectorUtils - 获取文本文件编码格式 ChineseCalendar - 农历日历 ConvertUtils - 高低字节转换 DateUtils - 日期工具类 HtmlFilterUtils - 过滤html标签 JsoupUtils - 基于jsoup过滤html标签 MoneyUtils -...

    廖雪峰 Java 教程.doc

    字符串和编码 StringBuilder StringJoiner 包装类型 JavaBean 枚举类 BigInteger BigDecimal 常用工具类 异常处理 Java的异常 捕获异常 抛出异常 自定义异常 使用断言 使用JDK Logging 使用Commons ...

    Java-图片BLOB的存取DEMO

    20180828开发,提供了三... WEB方式未实现,后期自行研究(可通过JS将前台上传的图片处理成Base64编码格式的字符串, 然后将Base64字符串传参到Controller后进行解码处理后再存储到BLOB字段。 依赖Jar包: ojdbc6.jar

    Java JDK实例宝典

    13 Properties属性文件 第5章 字符串 5. 1 使用String 5. 2 基本数据类型与字符串的转化 5. 3 判断Java标识符 5. 4 使用StringBuffer 5. 5 IP地址转化成整数 5. 6 18位身份证格式验证 ...

    java 面试题 总结

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    原创--java 可配置式 批量 查找 替换工具-MYFinder源代码

    6 根据指定格式的文件替换文件中指定的内容,(和1配合使用) 7 condition.xml 配置要处理的类,改类在searcher.condition下 8 fileproperties.porperties配置各种参数。 还有其它功能在扩展中,也请大家帮忙...

    Java开发详解.zip

    031216_【第12章:JAVA IO】_字符编码笔记.pdf 031217_【第12章:JAVA IO】_对象序列化笔记.pdf 031218_〖第12章:JAVA IO〗_实例操作—单人信息管理程序笔记.pdf 031219_〖第12章:JAVA IO〗_实例操作:投票程序...

    JavaScript实现ASC转汉字及汉字转ASC的方法

    我们常常在编写Java程序时会用到Properties文件,把一些Message等信息放在Properties文件,但是我们看到的都是一些编码。 Struts1.1b2的例子中的本国资源文件经过Unicode编码的,所以你如果要和它的运行一样,也必须...

    freemarker语法完整版

    encoding="GBK" 编码格式 parse=true 是否作为ftl语法解析,默认是true,false就是以文本方式引入.注意在ftl文件里布尔值都是直接赋值 的如parse=true,而不是parse="true" 用例 /common/copyright.ftl 包含内容 ...

    JDBC连接MySQL数据库实现增删改查(Dao层实现 解决硬编码 配置连接池获得连接对象 )

    工具类 JDBCUtil.java(抽取公共部分,解决硬编码问题 DBCP方式实现连接池、配置连接池 ==> 获得连接对象连接数据库) 用户账号实体类 User.java(私有化数据库t_user表中的id,username,password) 接口类 ...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《Java JDK 7学习笔记》是作者多年来教学实践的经验总结,汇集了学员在教学过程中遇到的概念、操作、应用或认证考试上的各种问题及解决方案。  《Java JDK 7学习笔记》详细介绍了JVM、JRE、Java SE API、JDK与IDE...

    Java开发常用Util工具类

    字符串工具类/数据类型转换类/集合工具类/数组工具类/Properties文件操作类/常用流操作工具类/编码工具类/Json工具类/日期工具类/下载文件工具类/解压ZIP工具类/文件编码转码

    超级有影响力霸气的Java面试题大全文档

     JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要...

Global site tag (gtag.js) - Google Analytics