字符輸入輸出流


.字符流(字符流 = 字節流 + 解碼)                                       

 1.字符流:讀二進制文件,會自動解碼成我們看的 懂的字符                     

                                                                           

 2.Reader:抽象類,所有字符輸入流的超類。                                  

    1.FileReader:文件字符輸入流,讀取字符串                               

    2.用法:                                                               

      1.找到目標文件                                                       

        File file = new File(“C:\\Users\\cdlx2016\\Desktop\\a.txt);       

      2.建立數據的通道                                                     

        FileReader reader = new FileReader(file);                           

      3.建立一個緩沖區                                                     

        char[] c = new char[1024];                          

      4.讀取數據                                                           

        int content = 0;                                                  

        while((content = fileReader.read(c)) != -1){           

            System.out.print(new String(c,0,content));       

}                                                   

      5.關閉資源                                                           

        reader.clock();                                          

                                                                  

3.Write:抽象類,所有字符輸出流的超類。                                    

    1.FileWrite:文件數據的輸出字符流                                      

    2.使用注意點:                                                         

1.內部維護一個1024個字符的字符數組,寫入數據時,是先將數據寫到內部字符數組中,如果需要將數據寫入硬盤,需要調用flush()或者close()或字符數組滿了。

2.如果需要向文件追加數據,使用new FileWrite(File,boolean)構造方法,boolean為true。                                                   

      3.如果指定文件不存在,會自己創建一個。                               

    3.用法:                                                               

     1.找到目標文件                                                       

        File file = new File(“C:\\Users\\cdlx2016\\Desktop\\a.txt);       

      2.建立數據的通道                                                     

        FileWrite write = new FileWrite(file);                          

      3.寫入數據                                                           

        write.write(“”);//這里只會寫入內部維護的數組                  

      4.刷新數據 (刷新、關閉、數組滿了 才會寫入磁盤(邊讀邊寫))           

        write.flush();                                           

      5.關閉資源 (默認會調用flush())                                     

        write.close();                                           

 

4.字符流解碼:拿到系統默認的編碼方式來解碼。(GBK)                          

5.將圖片中的二進制數據和GBK碼表中的值進行對比,對比的時候會出現二進制文件在碼表中找不到對應的值,他會將二進制數據標記為未知字符,當我在寫入數據時后台將未知的字符丟掉。

6.字節流使用場景:讀寫數據不需要轉為能夠看懂的內容時。Eg:圖片、視頻、音頻……

7.字符流使用場景:讀寫字符數據,一般就是文本文檔。


免責聲明!

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



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