package com.amuse.io;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
/**
* TODO Comment of OutputStreamWriteTest
* @author yongchun.chengyc
*
*/
public class OutputStreamWriterTest {
public static void main(String[] args) throws IOException {
//OutputStreamWriter 是输出流 是字符流通向字节流的桥梁:
//可使用指定字符编码的将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("E:\\io-test.txt"));
osw.write("hello world,你好世界-->" + osw.getEncoding());
//osw.flush();
osw.close();
osw = new OutputStreamWriter(new FileOutputStream("E:\\io-test.txt", true), "GBK");
osw.write(" I am spring! 我是spring-->" + osw.getEncoding());
//osw.flush();
osw.close();
}
}
I
nputStreamReader
是字节流通向字符流的桥梁:
它使用指定的
charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的charset将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
形象理解就是:
InputStreamReader是字符“打包员”,把字节打包成字符;
OutputStreamWriter是字符“拆包员”,把字符拆成字节。
InputStreamReader是字节转字符的流(字节流通向字符流的桥梁),
OutputStreamWriter是字符转字节的流(字符流通向字节流的桥梁)。