日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IO流之转换流

發布時間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IO流之转换流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一? 轉換流

1 OutputStreamWriter類

是字符流通向字節流的橋梁:

可使用指定的字符編碼表,將要寫入流中的字符編碼成字節。它的作用的就是,將字符串按照指定的編碼表轉成字節,在使用字節流將這些字節寫出去。

public static void main(String[] args) throws IOException {//指定目的地FileOutputStream fos=new FileOutputStream("E:\\java\\UTF-8.txt",true);//創建轉換流OutputStreamWriter osw=new OutputStreamWriter(fos, "utf-8");osw.write("你好,小豬佩奇");osw.flush();//釋放資源(你自己new了誰,就關誰,先開的后關) osw.close();fos.close();}

2 InputStreamReader類

是字節流通向字符流的橋梁:

它使用指定的字符編碼表讀取字節并將其解碼為字符。它使用的字符集可以由名稱指定或顯式給定,或者可以接受平臺默認的字符集。

public static void main(String[] args) throws IOException {//獲取數據源FileInputStream fis=new FileInputStream("E:\\java\\UTF-8.txt");//創建轉換流InputStreamReader isr=new InputStreamReader(fis,"utf-8");//開始讀取int len=0;while((len=isr.read())!=-1){System.out.println((char)len);}//釋放資源 isr.close();fis.close();}

注意:在讀取指定的編碼的文件時,一定要指定編碼格式,否則就會發生解碼錯誤,而發生亂碼現象。

3. 轉換流和子類的區別

發現有如下繼承關系:

OutputStreamWriter:

?????????????????? |--FileWriter:

InputStreamReader:

? ? ? ? ? ? ? ? ?|--FileReader;

一旦要指定其他編碼時,絕對不能用子類,必須使用字符轉換流。什么時候用子類呢?

條件:

1、操作的是文件。2、使用默認編碼。

總結:

字節--->字符 : 看不懂的--->看的懂的。? 需要讀。輸入流。 InputStreamReader

字符--->字節 : 看的懂的--->看不懂的。? 需要寫。輸出流。 OutputStreamWriter

轉載于:https://www.cnblogs.com/zzq123/p/10222154.html

總結

以上是生活随笔為你收集整理的IO流之转换流的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。