zoukankan      html  css  js  c++  java
  • java指定文件编码格式

      在创建文件并打印字符串时,如果不指定编码,默认是按系统的编码格式来。比如我们的linux环境中编码如下:

    CMREAD-SV43 /home/wlf> locale
    LANG=en_US.UTF-8
    LC_CTYPE="zh_CN.GBK"
    LC_NUMERIC="zh_CN.GBK"
    LC_TIME="zh_CN.GBK"
    LC_COLLATE="zh_CN.GBK"
    LC_MONETARY="zh_CN.GBK"
    LC_MESSAGES="zh_CN.GBK"
    LC_PAPER="zh_CN.GBK"
    LC_NAME="zh_CN.GBK"
    LC_ADDRESS="zh_CN.GBK"
    LC_TELEPHONE="zh_CN.GBK"
    LC_MEASUREMENT="zh_CN.GBK"
    LC_IDENTIFICATION="zh_CN.GBK"
    LC_ALL=zh_CN.GBK

      中文编码看LC_ALL,这里我们环境配置的是GBK,那么如下代码就是使用GBK来的,因为这里并未设置默认编码格式:

        protected void writerLog(String content)
        {
            // 记录创建时间为当前时间
            createDate = new Date();
            try
            {
                // 生成文件对象,如果文件不存在,要创建新文件。
                File file = new File(this.fileName);
                
                if (!file.exists() && file.createNewFile())
                {
                    // 上面方法有返回值,findBugs会报警,所以采用空实现的形式解决
                    ;
                }
                
                // 获得当前文件大小
                this.fileSize = file.length();
                file = null;
                
                // 打开输出
                this.logWriter = new PrintWriter(new FileWriter(this.fileName, true), true);
            }
            catch (IOException e)
            {
                e.printStackTrace();
                this.logWriter = null;
            }
            
            this.logWriter.print(content);
            this.logWriter.flush();
        }

      如何指定具体的编码格式呢?我们把这一行改下:

    this.logWriter = new PrintWriter(new FileWriter(this.fileName, true), true);

      使用OutputStreamWriter对象来指定UTF-8编码:

        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(this.fileName, true), "UTF-8");
        this.logWriter = new PrintWriter(osw, true);
  • 相关阅读:
    WinCE 编译固定IP到内核
    wince telnet登陆密码的取消
    lab 美国大学实验室
    PLC 开放性源代码的软件
    linux 嵌入式Linux下3G无线上网卡的驱动
    创业者/职业经理人/员工受用的36句感悟
    iShoot Developer Makes $600,000 In One Month
    如何彻底解决Vista狂读硬盘的问题
    宁做创业狼,不做打工狗
    跟我学EJBCA系列一:安装
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/10103302.html
Copyright © 2011-2022 走看看