首页 > 代码库 > JAVA中BufferedReader设置编码的必要性
JAVA中BufferedReader设置编码的必要性
实验环境 Myeclipse
默认编码 UTF-8
先看两种读文件的方式:
方式一:
InputStreamReader fReader = new InputStreamReader(new FileInputStream(filePathString),"UTF-8");BufferedReader reader = new BufferedReader(fReader);String line;while ((line = reader.readLine()) != null){ //do something }reader.close();
方式二:
BufferedReader reader = new BufferedReader(new FileReader(filePathString));String line;while ((line = reader.readLine()) != null){ //do something}reader.close();
J2SE,两种方式均能正常读取文件。
以前我觉得代码能短就短,所以一直用方式二。因为windows下的Myeclipse设置成UTF-8了,linux直接就是UTF-8;
但是但是但是!
直到有一天,我写了一个web project。发现里面读的是按照GBK读的,导致都是乱码。
原因如下:
windows默认编码是 非UTF-8 ,而tomcat默认编码是继承系统的(server.xml里可以修改编码,但是不知道为什么在我这里不好使),而web与后台通信是经过tomcat的,所以web工程里默认编码是tomcat中的编码。
结论:
如果涉及到web工程的文件读写,记得要设定文件读写的编码格式。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。