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();
}
}