OutputStreamWriter使用方法介紹


package com.chunzhi.Test03ReverseStream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

/*
    java.io.OutputStreamWriter extends Writer
    OutputStreamWriter:是字符流通向字節流的橋梁。可使用指定的charset將要寫入流中的字符編碼成字節

    繼承父類的共性成員方法:
        void write(int c):寫入單個字符
        void write(char[] cbuf):寫入字符數組
        abstract void write(char[] cbuf, int off, int len):寫入字符數組的某一部分,off:數組的開始索引,len:寫的字符個數
        void writ(String str):寫入字符串
        void writ(String str, int off, int len):寫入字符數組的某一部分,off:數組的開始索引,len:寫的字符個數
        void flush():刷新該流的緩沖
        void close():關閉此流,但要先刷新它
    構造方法:
        OutputStreamWriter(OutputStream out):創建使用默認字符編碼的OutputStreamWriter
        OutputStreamWriter(OutputStream out, String charsetName):創建使用指定字符集OutputStreamWriter
        參數:
            OutputStreamWriter:字節輸出流,可以用來寫轉換之后的字節到文件中
            String charsetName:指定的編碼表名稱且不區分大小寫,不指定則使用默認(IDEA默認UTF-8編碼)
    使用步驟:
        1.創建OutputStreamWriter對象,構造方法中傳遞字節輸出流和指定的編碼表名稱
        2.使用OutputStreamWriter對象中的方法write,把字符轉換為字節儲存緩沖區中(編碼)
        3.使用OutputStreamWriter對象中的方法flush,把內存緩沖區中的字節刷新到文件中(使用字節流寫字節的過程)
        4.釋放資源
 */
public class Test02OutputStreamWriter {
    public static void main(String[] args) throws IOException {
        write_utf_8();
        write_gbk();
    }

    private static void write_gbk() throws IOException {
        // 1.創建OutputStreamWriter對象,構造方法中傳遞字節輸出流和指定的編碼表名稱
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("Day10_IO\\gbk.txt"), "gbk");
        // 2.使用OutputStreamWriter對象中的方法write,把字符轉換為字節儲存緩沖區中(編碼)
        osw.write("你好Java世界");
        // 3.使用OutputStreamWriter對象中的方法flush,把內存緩沖區中的字節刷新到文件中(使用字節流寫字節的過程)
        osw.flush();
    }

    private static void write_utf_8() throws IOException {
        // 1.創建OutputStreamWriter對象,構造方法中傳遞字節輸出流和指定的編碼表名稱
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("Day10_IO\\utf-8.txt"), "utf-8");
        // 2.使用OutputStreamWriter對象中的方法write,把字符轉換為字節儲存緩沖區中(編碼)
        osw.write("你好Java世界");
        // 3.使用OutputStreamWriter對象中的方法flush,把內存緩沖區中的字節刷新到文件中(使用字節流寫字節的過程)
        osw.flush();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM