《黑馬程式設計師》io流的再認識

2021-05-25 11:19:53 字數 1388 閱讀 1002

1.   file類表示的是檔案的資訊,而不是檔案的內容。new file時,並不建立檔案,呼叫createfile()方法時,才真正的在硬碟上建立file。file也包含目錄。

2. randomaccessfile類表示隨機訪問的檔案,每次new randomaccessfile時,不用再呼叫其他方法就自動建立檔案。

隨機讀取檔案內容方便(比如等長記錄,斷點續傳),但是也有侷限randomaccessfile只能僅限於操作檔案,不能訪問其他io裝置,如網路、記憶體映像等

注意:它的write(int) 寫入的是乙個位元組,若要寫入int可以用writeint(int)寫入四個位元組。wirtechar(),readchar()可解決正文問題

3.文字檔案與二進位制檔案的區分:文字檔案以外的檔案為二進位制檔案.每個位元組中的資料可以是0—255.文字檔案是檔案記憶體中的資料複製到檔案中的儲存形式。各種文字字元是乙個或多個位元組組成的,乙個檔案中的每個位元組或每相鄰的幾個位元組中資料都可以表示為某種字元,則成之為文字檔案。文字檔案是個特例。為了區別文字檔案區別,文字檔案以外的檔案為二進位制檔案,如果乙個檔案專用於儲存文字字元,而沒有包含字元以外的其他資料。則稱之為文字檔案,除此以外的檔案為二進位制檔案。

4.fileoutputstream的write寫入乙個位元組的方法,不會呼叫flush重新整理,但是寫入位元組陣列的write會呼叫flush。filewrite使用write寫入寫入字串,內部沒有自動呼叫flush,重新整理。

5.管道流主要完成執行緒之間的通訊.實現各個程式模組之間的松耦合通訊。

6.bytearrayinputstream、bytearrayinputstream,用於以io流的方式來完成對位元組陣列內容的讀寫,來支援類似記憶體虛擬檔案或者記憶體映像檔案的功能。

7.字元編碼:utf-8 不會出現內為0x00位元組、便於應用程式檢測資料在傳輸過程中是否發生了錯誤,通過前面的幾個位元組決定。、直接處理使用ascii碼的英文文件,

8.switch case內部不能定義變數,否則報錯!

9.過濾流與包裝類:dataoutputstream、datainputstream,bufferedinputstream、bufferedinputstream、bufferedreader、bufferedwrite,printstream、printwriter通過其他同類流構造。其實就是裝飾器模式。

objectinputstream、objectoutputstream讀寫物件(必須實現serializable介面),對像中的transient和static型別的成員變數不會被讀取和寫入。能處理不同作業系統的差異。

inputstreamreader、outputstreamwriter:位元組字元相互轉化。一般不直接用這兩個類而是包裝成bufferedwriter、bufferedreader來使用,這樣效率會更高。

10.process實現主程序與子程序之間的通訊

黑馬程式設計師 IO流

asp.net unity開發 net培訓 期待與您交流!io流可以按流向分為輸入流,輸出流。按讀取資料的型別可分為位元組流和字元流。字元流 輸出字元流 writer 字元寫入流的抽象 filewriter 字元寫入流 bufferedwriter 字元寫入流緩衝區 outputstreamwrit...

黑馬程式設計師 16 IO流

asp.net android ios開發 net培訓 期待與您交流!io流中的運算元據分為位元組流和字元流 早期都是以位元組流的形式操作的,位元組流處理單元是乙個位元組,操作 byte 或byte 可以操作任何形式的資料 字元流 由於對於文字資料,有不同的碼表編碼格式,字元流採用預設編碼表,處理單...

黑馬程式設計師 IO 流操作規律

asp.net unity開發 net培訓 期待與您交流!流操作基本規律 一 兩個明確 1 明確源和目的 源 輸入流。inputstream位元組流 reader 字元流 目的 輸出流 outputstream 位元組流 writer 字元流 2 操作的資料是否是純文字 是,即字元流 如果裝置是鍵盤...