轉(zhuǎn)換流

FileReader可以讀取IDE默認(rèn)編碼格式(UTF-8)的文件,F(xiàn)ileReader讀取系統(tǒng)默認(rèn)編碼(中文GBK)會(huì)產(chǎn)生亂碼。
轉(zhuǎn)換流可以指定編碼表

OutputStreamWriter

是字符流通向字節(jié)流的橋梁:可使用指定的charset將要寫入流中的字符編碼成字節(jié)。
使用步驟:
(1)創(chuàng)建OutputStreamWriter對(duì)象,構(gòu)造方法中傳遞字節(jié)輸出流和指定的編碼表名稱;
(2)使用OutputStreamWriter對(duì)象中的方法write,把字符轉(zhuǎn)換為字節(jié)存儲(chǔ)緩沖區(qū)中(編碼);
(3)使用OutputStreamWriter對(duì)象中的方法flush,把內(nèi)存緩沖區(qū)中的字節(jié)刷新到文件中(使用字節(jié)流寫字節(jié)的過程);
(4)釋放資源.

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("http://Users/yangna//Desktop//進(jìn)度//c.txt"),"GBK");
        osw.write("你好");
        osw.flush();
        osw.close();

InputStreamReader

使用步驟:
(1)創(chuàng)建InputStreamReader對(duì)象,構(gòu)造方法中傳遞字節(jié)輸入流和指定的編碼表名稱
(2)使用InputStreamReader對(duì)象中的方法read讀取文件
(3)釋放資源
注意事項(xiàng):構(gòu)造方法中指定的編碼表名稱要和文件的編碼相同,否則會(huì)發(fā)生亂碼。

 InputStreamReader isr = new InputStreamReader(new FileInputStream("http://Users/yangna//Desktop//進(jìn)度//b.txt"));
        int len = 0;
        while((len = isr.read())!=-1){
            System.out.println((char)len);
        }

練習(xí):轉(zhuǎn)換文件編碼
將GBK編碼的文本文件,轉(zhuǎn)換為UTF-8編碼的文本文件。
分析:
(1)創(chuàng)建InputStreamReader對(duì)象,構(gòu)造方法中傳遞字節(jié)輸入流和指定的編碼表名稱GBK;
(2)創(chuàng)建OutputStreamWriter對(duì)象,構(gòu)造方法中傳遞字節(jié)輸出流和指定的編碼表名稱UTF-8;
(3)使用InputStreamReader對(duì)象中的方法read讀取文件;
(4)使用OutputStreamWriter對(duì)象中的方法write,把讀取的數(shù)據(jù)寫入到文件中;
(5)釋放資源。

InputStreamReader isr = new InputStreamReader(new FileInputStream("http://Users/yangna//Desktop//進(jìn)度//b.txt"),"GBK");
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("http://Users/yangna//Desktop//進(jìn)度//c.txt"),"UTF-8");
        int len =0;
        while((len = isr.read()) != -1){
            osw.write(len);
        }
        osw.close();
        isr.close();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容