Java IO流 分類 概述

2021-08-30 22:59:30 字數 1535 閱讀 4603

檔案流

實現對檔案的讀取操作:fileinputstream filereader

實現對檔案的寫入操作:fileoutputstream filewriter

緩衝流

bytearrayinputstream、bytearrayoutputstream:

在記憶體中建立乙個位元組緩衝區實現資訊的讀取、寫入。關閉此流後,類中的方法仍能呼叫,不會產生異常。

chararrayreader、chararraywriter:

在記憶體中建立乙個字元緩衝區實現資訊的讀取、寫入。

bufferedreader、bufferedwriter:

bufferedinputstream、bufferedoutputstream:

支援其父類的mark()和reset()方法;

bufferedreader、bufferedwriter能夠讀取寫入一行字串;

重新整理緩衝的輸出流方法flush();

管道流

資料流

datainputstream、dataoutputstream:提供了可以訪問各種基本型別資料。

轉換流

inputstreamreader、outputstreamwriter:可以指定編碼格式

print流

printwriter:

printstream:

1、提供了過載的print、println方法用於多種資料型別的輸出;

2、 不會丟擲異常;

3、具有自動重新整理flush功能。

object流

1、直接將object讀取寫入;

2、transient關鍵字

不需要序列化的屬性。

3、serializable介面

實現serializable介面不需要實現任何方法,但被其修飾的需要序列化的類必須有乙個空的建構函式。否則在readobject時會出現invalidclas***ception異常。

4、externalizable介面

自定義序列化。

過濾流

filterinputstream:

bufferedinputstream

datainputstream

filteroutputstream:

bufferedoutputstream

dataoutputstream

printstream

randomaccessfile

1) 可通過randomaccessfile物件完成對檔案的讀寫操作

2) 在產生乙個物件時,可指明要開啟的檔案的性質:r,唯讀;w,只寫;rw可讀寫

3) 可以直接跳到檔案中指定的位置

另:stringbufferinputstream、stringbufferoutputstream:過時,不能正確將字元轉換為位元組。從字串建立流應首選stringreader、stringwriter類。

sequenceinputstream:把多個inputstream合併為乙個inputstream,它沒有對應sequenceoutputstream。

java io流分類講解

橫向分類分為位元組流和字元流。縱向分類分為節點流和包裝流 高階流 這裡的 橫縱 讀者自行體會。包裝流包裝節點流,以節點流作為構造源,主要有 緩衝流 資料流 物件流 轉換流。節點流 從資料來源構造,根據資料來源分為 檔案節點流 位元組 字元陣列節點流 管道節點流 字串字元流 1 檔案節點流 file ...

Java IO流 隨機流2

本文 本文主要介紹隨機流的斷點續傳的具體使用 斷點續傳原理 首先把隨機訪問的檔案物件看作儲存在檔案系統中的乙個大型 byte 陣列,然後通過指向該 byte 陣列的游標或索引 即 檔案指標 filepointer 在該陣列任意位置讀取或寫入任意資料 相關方法說明 1 物件宣告 randomacces...

java IO流 字元流FileReader

1.字元流是什麼 字元流是可以直接讀寫字元的io流 字元流讀取字元,就要先讀取到位元組資料,然後轉為字元.如果要寫出字元,需要把字元轉為位元組再寫出.樣列 filereader fr new filereader txt int x fr.read system.out.println x char...