码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA中BufferedReader设置编码的必要性

时间:2014-07-12 15:39:30      阅读:396      评论:0      收藏:0      [点我收藏+]

标签:style   blog   java   color   strong   文件   

实验环境 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工程的文件读写,记得要设定文件读写的编码格式。

JAVA中BufferedReader设置编码的必要性,布布扣,bubuko.com

JAVA中BufferedReader设置编码的必要性

标签:style   blog   java   color   strong   文件   

原文地址:http://www.cnblogs.com/zklidd/p/3839747.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!