Java學習筆記——IO流基礎知識點整理

      IO 流

        Input / Output 流(Stream)

        1,概念:  類比水流。 數據從一個位置, 流向另外一個位置。 數據的傳輸。

        2,分類:<重點>

                流向  :  以程序爲立場

                        輸入流:  數據進入程序

                                                通常狀況讀入數據

                        輸出流:  數據從程序中出去(保存到本地, 上傳數據)

                                                寫出

                單位

                        Bit        (位), 0,1        
                        Byte(字節), 8個位  

                        字節流:  每次操做的是1個字節 

                        字符流:  每次操做的是字符  , 2個字節, 16位  (操做的中文)



                功能

                        節點流: 直接接觸數據源的流


                        處理流: 也叫過濾流, 沒有直接接觸數據, 而是嵌套在別的流之上

                
        3, 4大基類(父類)流

                InputStream                 字節輸入流

                OutputStream     字節輸出流

                Reader                         字符輸入流

                Writer                         字符的輸出流


   4, 流的操做步驟

                1, 肯定數據源

                2, 肯定流向, 肯定子類

                3, 操做流  

                4, 關閉流

   5, InputStream 讀的操做

                read()         
                
                                int, 用於讀取一個字節, 返回值是讀取數據的自己, 若是讀取到末尾, 返回-1



        *        read(byte[] b)

                                int , 用於讀取數據, 最多讀取的長度是b.length的長度,  數據存入數組中

                                          返回值是實際讀取到的內容的長度  len

                                          若是讀取到末尾, 返回-1


                read(byte[] , int off,int len)

                                int , 用於讀取數據,最多的讀取len個, 數據也是存入到數組中, 
                                
                                                從下標爲off的位置開始存儲,

                                                返回值是實際讀取的長度  len

                                                若是讀取到末尾, 返回-1



        6, OutputStream  寫的操做
        
                    保存數據到本地文件中, 若是文件不存在, 輸出流會自定建立一個文件, 而後在寫出內容

                        可是若是目錄不存在, 那麼會拋出異常

                        write(int)  

                                                void , 將參數所表示的內容寫出, 該方法執行一次, 表示寫出了一個字節


                *        write(byte[])

                                                void,  將參數所表示的字節數組中的數據, 所有寫出



                        write(byte[] b,int off,int len)

                                                void , 將參賽所表示的字節數據中的數據, 部分寫出, 

                                                從數組的下標爲off開始, 寫len長度


        String 類

                字節數組:getBytes()   byte[]

                字符數組:toCharArray()  char[]


        

   6, 字符流    ---  以字符爲單位  Reader

                read()
                                
                           int , 讀入一個字符, 返回值是讀取的數據, 讀到末尾返回-1

                read(char[] cr)

                                int , 一次讀取多個字符, 最多讀取到的是數組長度的個數, 實際讀到的長度,
                                
                                        是 方法的返回值 len,  數據存入數組中, 讀到末尾返回-1

                read(char[] cr, int off,int len)

                                int , 一次讀入多個字符, 最多讀取len的長度, 實際讀入的數量是方法的返回值

                                從off下標開始存入數組中,  若是讀取到末尾返回-1


        7, 字符流     --  以字符爲單位   寫出數據   Writer
數組

相關文章
相關標籤/搜索