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

CMREAD-SV43 /home/wlf> locale
LANG=en_US.UTF-
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);

java指定文件编码格式的更多相关文章

  1. Java判断文件编码格式

    转自:http://blog.csdn.net/zhangzh332/article/details/6719025 一般情况下我们遇到的文件编码格式为GBK或者UTF-8.由于中文Windows默认 ...

  2. Python2 指定文件编码格式需要注意的地方

    python2 中默认的编码格式是unicode, 开发人员经常需要根据需要,将python文件的编码格式设置为utf-8,我们可以在python文件的第一行进行设置,加入如下代码: # encodi ...

  3. Java如何获取文件编码格式

    1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK.  按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原 ...

  4. 将java的class文件放到一个指定文件夹下

    用javac执行java文件时,要把java文件的class文件放到指定文件夹下,注意文件夹要创建好,执行javac -d 文件夹 ***.java 如图: 在class文件夹下就出现了L的class ...

  5. Java文件编码格式转换

    转自博文<Java文件编码格式转换>: 默认被转换的格式为GBK,转换成的格式为UTF-8 import info.monitorenter.cpdetector.CharsetPrint ...

  6. java读取文件夹下所有文件并替换文件每一行中指定的字符串

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...

  7. java实现指定文件扫描目录

    package com.miss.time1230.io; import java.io.File; import java.util.Scanner; /** * @author MISS * 描述 ...

  8. java实现 批量转换文件编码格式

    一.场景说明 不知道大家有没有遇到过之前项目是GBK,现在需要全部换成UTF-8的情况.反正我是遇到了. eclipse可以改变项目的编码格式,但是文件如果直接转换的话里面的中文就会全部乱码,需要先复 ...

  9. java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用

    java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用 import java.io.BufferedReader; import java.io.BufferedWrite ...

随机推荐

  1. Python之路,Day8 - 面向对象编程进阶

    本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典 ...

  2. 033——VUE中安装使用vue-devtools调试工具用于监控数据变化

    vue官网:https://cn.vuejs.org/ 下的官方仓库:vue-devtools  安装到火狐或谷歌下都可以,安装成功之后,按F12查看就可以了

  3. WebApplication和WebSite的简单区别

    初步认识网站和网站应用程序区别 1. 网页头部文件 网站 <%@ Page Language="VB" AutoEventWireup="false" C ...

  4. LA3029

    题解: 一个类似尺取法的算法 代码: #include<cstdio> #include<algorithm> using namespace std; ; int T,n,m ...

  5. 缓存LruCache简单创建和使用

    LruCache一般使用: /** * 总容量为当前进程的1/8,单位:KB * sizeOf():计算缓存对象的大小,单位要一致 * entryRemoved():移除旧缓存时调用 */ int m ...

  6. 一些常用的UI控件

    让你的 EditText 全部清除: 网址:https://github.com/MrFuFuFu/ClearEditText

  7. Spring整合CXF发布及调用WebService

    这几天终于把webService搞定,下面给大家分享一下发布webService和调用webService的方法 添加jar包 (官方下载地址:http://cxf.apache.org/downlo ...

  8. WEB-INF目录下的文件访问权限

    对于Tomcat服务器而言,WEB-INF是个特殊的目录.这个目录并不属于Web应用程序可以访问的上下文路径的一部分, 对于客户端来说,这个目录是不可见的,不能通过在浏览器中直接输入地址的方式来访问. ...

  9. SQL 动态PIVOT查询

    DECLARE @sql_str VARCHAR(8000)DECLARE @sql_col VARCHAR(8000) SELECT @sql_col = ISNULL(@sql_col + ',' ...

  10. Eclipse快捷键详细解析

    android开发中常用的Eclipse快捷键详细解析 1.查看快捷键定义的地方 Window->Preferences->General->Keys. 2.更改启动页 在Andro ...