System.IO 提供了龐大而精密的類型體系,理解各類別的定位與適用場景,是高效開發的關鍵。
Stream 是所有流的抽象基類,封裝三大基本操作:
CanSeek=true)三大能力屬性 CanRead、CanWrite、CanSeek 讓消費端能動態檢測流特性(如 NetworkStream 不支援 Seek)。
BinaryReader / BinaryWriter:提供 ReadInt32、WriteDouble、ReadString 等強型別方法,適合結構化二進位資料(如自訂檔案格式、網路協定封包)。File、Directory:密封類別,提供靜態工廠方法(File.OpenText、File.Create 等)快速產生 FileStream、StreamReader 等實例,亦支援屬性查詢、複製、移動、刪除等管理操作。基類均為 FileSystemEntry。| 類別 | 定位 | 典型用途 |
|---|---|---|
TextReader/Writer | 抽象基類 | 定義 Unicode 字元讀寫契約 |
StreamReader/Writer | 流適配器 | 讀寫文字檔(支援 Encoding 偵測與 BOM) |
StringReader/Writer | 記憶體字串 | 單元測試、字串模板處理、日誌緩衝 |
NetworkStream)加裝緩衝區,減少系統呼叫。FileStream 內建緩衝,MemoryStream 無需緩衝。GetBuffer/ToArray)。FileStream 是磁碟檔案的直接代表,支援:
Seek(offset, SeekOrigin)useAsync 參數控制)FileShare.Read/Write/Delete/NoneStreamReader/Writer(指定 Encoding)BinaryReader/WriterMemoryStreamNetworkStream 或更高層 HttpClient/gRPCBufferedStreamFile/Directory 方法所有 I/O 操作均受作業系統 ACL 控制。網路檔案直接存取預設被沙箱策略阻擋,請改用 IsolatedStorage 實現跨域資料隔離儲存。