zoukankan      html  css  js  c++  java
  • 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工程的文件读写,记得要设定文件读写的编码格式。

  • 相关阅读:
    云架构师进阶攻略(1)
    针对云主机卡死问题的定位分析方法
    让App飞久一点
    OC静态代码检查实战
    PAT 1010. 一元多项式求导
    PAT 1009. 说反话
    PAT 1008 数组元素循环右移问题
    PAT 1007. 素数对猜想
    PAT 1006 换个格式输出整数
    PAT 1005 继续(3n+1)猜想
  • 原文地址:https://www.cnblogs.com/zklidd/p/3839747.html
Copyright © 2011-2022 走看看