javaSE OutputStreamWriter, 转换流, 字符流(根据指定编码表)转成字节流


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


猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/80708877