Demo.java:
package cn.xxx.demo; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; /* * 转换流 * java.io.OutputStreamWriter 继承Writer类 (参考Writer子类FileWriter的方法) * 就是一个字符输出流,写文本文件 (可以指定编码表) * 字符通向字节的桥梁,将字符流转成字节流 (可以指定编码表) * * OutputStreamWriter 有个子类, FileWriter (用的是系统默认的编码表) */ public class Demo { public static void main(String[] args)throws IOException { //writeGBK(); writeUTF(); } public static void writeUTF()throws IOException{ FileOutputStream fos = new FileOutputStream("c:\\utf.txt"); // 创建字节输出流 //创建转换流对象,构造方法保装字节输出流,并指定编码表是UTF-8 OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8"); // 根据字节输出流构造转换流。 指定UTF-8编码表(不分大小写)。 osw.write("你好"); osw.flush(); osw.close(); } public static void writeGBK()throws IOException{ //创建字节输出流,绑定数据文件 FileOutputStream fos = new FileOutputStream("c:\\gbk.txt"); // 创建字节输出流 OutputStreamWriter osw = new OutputStreamWriter(fos); // 根据字节输出流构造转换流。采用系统默认编码表 GBK osw.write("你好"); //转换流写数据 osw.flush(); osw.close(); } }