資訊
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Stream 類別

提供位元組順序的一般觀點。

命名空間: System.IO
組件: mscorlib (在 mscorlib.dll 中)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public abstract class Stream : MarshalByRefObject, IDisposable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public abstract class Stream extends MarshalByRefObject implements IDisposable
SerializableAttribute 
ComVisibleAttribute(true) 
public abstract class Stream extends MarshalByRefObject implements IDisposable

如需建立檔案和寫入文字至檔案的範例,請參閱 HOW TO:將文字寫入檔案。如需從檔案讀取文字的範例,請參閱 HOW TO:從檔案讀取文字。如需讀取和寫入二進位檔案的範例,請參閱 HOW TO:讀取和寫入新建立的資料檔案

資料流涉及三項基本作業:

  1. 您可以讀取資料流。讀取即是從資料流到資料結構的資料傳送,例如位元組的陣列。

  2. 您可以寫入資料流。寫入即是從資料結構到資料流的資料傳送。

  3. 資料流支援搜尋。搜尋即是在資料流內查詢並修改目前位置。搜尋的功能取決於資料流所具有的備份存放區類型。例如,網路資料流沒有目前位置的統一概念,因而基本上不支援搜尋。

Stream 是所有資料流的抽象基底類別。資料流是位元組順序的抽象,例如檔案、輸入/輸出裝置、處理序間的通訊管道,或 TCP/IP 通訊端 (Socket)。Stream 類別和它的衍生類別 (Derived Class) 提供不同型別輸入和輸出的一般觀點,可將程式設計人員與作業系統和基礎裝置的特有詳細資訊隔離。

依據基礎資料來源或存放庫,資料流可能只支援某些功能。使用 CanReadCanWrite 以及 CanSeek 屬性,應用程式可以查詢資料流所具有的功能。

ReadWrite 方法可讀取和寫入各種格式的資料。對於支援搜尋的資料流,請使用 SeekSetLength 方法以及 PositionLength 屬性,來查詢並修改資料流的目前位置和長度。

某些資料流的實作執行基礎資料的區域緩衝來改善效能。對於這些資料流,Flush 方法可用來清除任何內部緩衝區,並確認所有資料都已寫入基礎資料來源或存放庫。

Stream 上呼叫 Close 會清除所有緩衝處理的資料,事實上是呼叫 FlushClose 也會釋放作業系統資源,例如檔案控制代碼 (File Handle)、網路連線,或用於任何內部緩衝區的記憶體。BufferedStream 類別提供將緩衝資料流轉換至另一個資料流的功能,以改善讀取和寫入效能。

如果您需要不具支援存放區 (例如,位元雜湊桶) 的資料流,則使用 Null

實作者注意事項 當實作 Stream 的衍生類別 (Derived Class) 時,您必須為 ReadWrite 方法提供實作。非同步方法 BeginReadEndReadBeginWriteEndWrite 是經由同步方法 ReadWrite 所實作。同樣地,您 ReadWrite 的實作將會正確地使用非同步方法。ReadByteWriteByte 的預設實作建立新的單一元素位元組陣列,並且接著呼叫您 ReadWrite 的實作。在從 Stream 衍生時,如果您有內部位元組緩衝區,強烈建議您覆寫這些方法來存取您的內部緩衝區以確實地提升效能。您也必須提供 CanReadCanSeekCanWriteFlushLengthPositionSeekSetLength。 不要覆寫 Close 方法,而是將所有的 Stream 清除邏輯置於 Dispose 方法中。如需詳細資訊,請參閱實作 Dispose 方法

主題位置
HOW TO:將文字寫入檔案.NET Framework:程式設計基本原理
HOW TO:從檔案讀取文字.NET Framework:程式設計基本原理
HOW TO:將文字寫入檔案.NET Framework:程式設計基本概念
HOW TO:從檔案讀取文字.NET Framework:程式設計基本概念

System.Object
   System.MarshalByRefObject
    System.IO.Stream
       衍生類別

這個型別的所有公用靜態成員 (即 Visual Basic 中的 Shared 成員) 都是安全執行緒。並非所有的執行個體成員均為安全執行緒。

Windows 98、 Windows 2000 SP4、 Windows CE、 Windows Millennium Edition、 Windows Mobile for Pocket PC、 Windows Mobile for Smartphone、 Windows Server 2003、 Windows XP Media Center Edition、 Windows XP Professional x64 Edition、 Windows XP SP2、 Windows XP Starter Edition

.NET Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱系統需求一節的內容。

.NET Framework

支援版本:2.0、1.1、1.0

.NET Compact Framework

支援版本:2.0、1.0

社群新增項目

顯示:
© 2015 Microsoft