檔案是儲存在磁碟、光碟等媒體上、具有名稱、路徑、建立時間、存取權限等屬性的有序資料集合。資料流在概念上類似檔案,同樣提供位元組序列的讀寫介面,但資料實際儲存位置可不連續、甚至分散於多顆磁碟、網路或記憶體中;對開發者而言,資料流呈現的是統一的連續位元組抽象。
| 特性 | 檔案 | 資料流 |
|---|---|---|
| 持久性 | 永久儲存 | 視實作而定(記憶體流非持久) |
| 位址存取 | 可隨機存取 | 通常循序存取(部分支援 Seek) |
| 抽象層級 | 具體儲存實體 | 統一讀寫介面 |
理解兩者異同,有助於選擇適當的 I/O 類別:FileStream 處理檔案、MemoryStream 處理記憶體緩衝、NetworkStream 處理網路通訊,皆繼承自 Stream 基底類別,享有多型帶來的程式碼復用優勢。