java基礎——I/O流
字元流:讀取和寫入資料的時候,以字元為最小單元進行讀取和寫入操作,因為每個字元根據編碼不同,所佔用的位元組個數不同,每次讀取和寫入字元時候,是不定長的位元組個數寫入讀取。
輸入流:把資料從其他儲存機制讀入到當前記憶體機制當中
輸出流:把記憶體當中的資料寫出到其他儲存機制當中
1.檔案輸入流 FileInputStream(位元組)
檔案輸入流是對檔案內容讀取操作的類
是以位元組方式進行讀取檔案內容,屬於位元組流
構造方法:
方法摘要:
例項參考:
(一):一個位元組一個位元組的輸入
(二):十個位元組的輸入:
2.檔案輸出流FileoutputStream(位元組)
檔案輸出流是對檔案進行寫入內容操作的類
是以位元組方式進行寫入檔案內容,屬於位元組流
構造方法:
方法摘要:
實力參考:
(一):輸出ASC碼
(二)輸出文字
3.Copy一個檔案
(一):
(二):
4.檔案輸入流FileReader(字元)
檔案字元輸入流是對檔案內容讀取操作的類
是以字元方式進行讀取檔案內容,屬於字元流
構造方法
方法摘要:
例項參考:
(一)
(二)
4.檔案輸出流FileWreter(字元)
檔案字元輸出流是對檔案進行寫入內容操作的類
是以字元方式進行寫入檔案內容,屬於字元流
構造方法
方法摘要
例項參考
(一)
(二)
緩衝流
位元組緩衝輸入/輸出流方法摘要
方法請參考FileInputStream/FileOutputStream方法使用格式
例項參考(位元組)
輸入:
輸出:
(字元)
輸入:
輸出
資料輸入輸出流
檔案流和緩衝流僅僅支援簡單的位元組寫入寫出,支援的讀入寫出方法侷限性比較大
資料流允許應用程式以適當方式將資料以Java基本資料型別寫入和讀出檔案
資料流提供了比檔案流和緩衝流更加豐富的讀入寫出操作
由於資料流底層依然是位元組操作,所以資料流為位元組流型別的拓展包裝流
輸入:
輸出:
物件流
所謂物件流就是將物件進行流化後通過流傳輸,我們可以直接將流化後的物件進行檔案讀寫操作
物件流化就是將java物件轉化為位元組序列
需要進行物件流傳輸的物件所關聯的類必須序列化
序列化:1)需要序列化的類必須實現Serializable介面
2)Serializable介面沒有抽象方法,只是標註該物件可以被序列化
3)沒有實現Serializable介面類的物件是不能通過物件流傳輸的
例項參考