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