.NET透過封裝檔案與資料流讀寫功能的相關類別,提供應用程式完整的讀寫功能支援,相關類別集中於System.IO命名空間,開發人員透過各種類別與介面的引用,便能輕易完成基本的資料輸出入操作。
System.IO 命名空間的類別(以下簡稱為 IO類別)針對各種格式的資料存取操作提供廣泛的支援,資料的讀寫來源與目的不限定於檔案或是實體磁碟,其他如記憶體,甚至網路都可以經由相關的類別來處理,IO類別數量不少,以下根據功能與其配置於繼承架構裏的位置,列舉其中比較重要的類別以方便理解。

圖中將 IO 類別歸納為兩大類,分別是上半部「檔案目錄處理類別」,以及下半部用來處理各種型式資料的「資料處理類別」,每一個深色方塊表示一種包含特定功能的 I/O 基礎類別。
檔案目錄處理類別
以檔案目錄為資料讀寫對象。
處理檔案目錄的類別中,衍生自 Object 的 Directory 、 File 以及 Path 類別具備通用於一般檔案目錄的處理功能,而另一大類則是由 FileSystemInfo 類別所衍生的兩個子類別: FileInfo 以及 DirectoryInfo 等,這兩個類特別適於處理特定的檔案目錄。
資料處理類別
以資料流為資料讀寫對象,區分為以下三種類型。
.位元組資料讀寫處理
這一組類別被設計用以存取位元組型態的資料, Stream 類別是其中的核心基底類別,其下衍生了幾個重要的資料流類別, BufferedStream 、 FileStream 以及 MemoryStream ,分別提供特定位元組資料輸出與輸入的相關操作功能。
Stream 類別另外還有兩個重要的子類別,分別是 NetworkStream 以及 CryptoStream ,它們並不屬於 I/O 命名空間,主要的功能分別提供跨越網路的資料讀寫操作與資料加密功能。
.字元資料讀寫處理
TextReader 與 TextWriter這兩個類別分別提供字元組資料的輸出與輸入功能,而根據所要讀取的資料型態,字元以及字串,分別衍生了兩個子類別,StreamReader以及StringReader,衍生自TextReader,而StreamWriter以及StringWriter則衍生自TextWriter類別。
.資料讀寫
主要包含 BinraryReader 與 BinaryWriter 這兩個類別,分別提供如布林、整數、浮點數等基礎資料型別的存取操作。
下表簡要列舉各類型的資料類別。
System.IO 命名空間的類別(以下簡稱為 IO類別)針對各種格式的資料存取操作提供廣泛的支援,資料的讀寫來源與目的不限定於檔案或是實體磁碟,其他如記憶體,甚至網路都可以經由相關的類別來處理,IO類別數量不少,以下根據功能與其配置於繼承架構裏的位置,列舉其中比較重要的類別以方便理解。

圖中將 IO 類別歸納為兩大類,分別是上半部「檔案目錄處理類別」,以及下半部用來處理各種型式資料的「資料處理類別」,每一個深色方塊表示一種包含特定功能的 I/O 基礎類別。
檔案目錄處理類別
以檔案目錄為資料讀寫對象。
處理檔案目錄的類別中,衍生自 Object 的 Directory 、 File 以及 Path 類別具備通用於一般檔案目錄的處理功能,而另一大類則是由 FileSystemInfo 類別所衍生的兩個子類別: FileInfo 以及 DirectoryInfo 等,這兩個類特別適於處理特定的檔案目錄。
資料處理類別
以資料流為資料讀寫對象,區分為以下三種類型。
.位元組資料讀寫處理
這一組類別被設計用以存取位元組型態的資料, Stream 類別是其中的核心基底類別,其下衍生了幾個重要的資料流類別, BufferedStream 、 FileStream 以及 MemoryStream ,分別提供特定位元組資料輸出與輸入的相關操作功能。
Stream 類別另外還有兩個重要的子類別,分別是 NetworkStream 以及 CryptoStream ,它們並不屬於 I/O 命名空間,主要的功能分別提供跨越網路的資料讀寫操作與資料加密功能。
.字元資料讀寫處理
TextReader 與 TextWriter這兩個類別分別提供字元組資料的輸出與輸入功能,而根據所要讀取的資料型態,字元以及字串,分別衍生了兩個子類別,StreamReader以及StringReader,衍生自TextReader,而StreamWriter以及StringWriter則衍生自TextWriter類別。
.資料讀寫
主要包含 BinraryReader 與 BinaryWriter 這兩個類別,分別提供如布林、整數、浮點數等基礎資料型別的存取操作。
下表簡要列舉各類型的資料類別。
資料格式 | 類別 |
---|---|
位元組 | Stream 以及其衍生的子類別。 |
二進位格式 | BinaryReader以及BinaryWriter |
文字格式 | TextReader、TextWriter以及這兩個類別底下衍生的子類別。 |
沒有留言:
張貼留言