其中:BeginRead、EndRead和BeginWrite、EndWrite是二對異步方法,其功能相當於Read和Write方法。
BinaryReader類提供了以FileStream類的實例為參數的構造函數,其語法比較簡單,具體如下:
public BinaryReader ( Stream ) ;
下面是通過此構造函數創建、初始化BinaryReader實例的具體代碼,其中SplitFileStream是FileStream實例:
BinaryReader SplitFileReader = new BinaryReader ( SplitFileStream ) ;
BinaryReader類為從當前的數據流中讀取各種讀取數據的方法,掌握了這些方法的使用方法也就掌握了BinaryReader類,表03是BinaryReader類中從數據流中讀取數據的方法及其說明:
方法 說明 Read 從基礎流中讀取字符,並提升流的當前位置。 ReadBoolean 從當前流中讀取Boolean,並使該流的當前位置提升1個字節。 ReadByte 從當前流中讀取下一個字節,並使流的當前位置提升1個字節。 ReadBytes 從當前流中將指定個字節讀入字節數組,並使當前位置提升指定個字節。 ReadChar 從當前流中讀取下一個字符,並根據所使用的 ReadChars 從當前流中讀取指定個字符,以字符數組的形式返回數據,並根據所使用的Encoding和從流中讀取的特定字符,提升當前位置。 ReadDecimal 從當前流中讀取十進制數值,並將該流的當前位置提升十六個字節。 ReadDouble 從當前流中讀取8字節浮點值,並使流的當前位置提升8個字節。 ReadInt16 從當前流中讀取2字節有符號整數,並使流的當前位置提升2個字節。 ReadInt32 從當前流中讀取4字節有符號整數,並使流的當前位置提升4個字節。 ReadInt64 從當前流中讀取8字節有符號整數,並使流的當前位置提升4個字節。 ReadSByte 從此流中讀取一個有符號字節,並使流的當前位置提升1個字節。 ReadSingle 從當前流中讀取4字節浮點值,並使流的當前位置提升4個字節。 ReadString 從當前流中讀取一個字符串。字符串有長度前綴,一次7位地被編碼為整數。 ReadUInt16 使用Little Endian編碼從當前流中讀取2字節無符號整數,並將流的位置提升2個字節。 ReadUInt32 從當前流中讀取4字節無符號整數並使流的當前位置提升4個字節。 ReadUInt64 從當前流中讀取8字節無符號整數並使流的當前位置提升8個字節。 表03:BinaryReader類中從數據流讀取數據方法及其說明BinaryWriter類也提供了使用以FileStream類的實例為參數的構造函數,其語法和BinaryReader類提供的構造函數非常相似,具體語法如下:
public BinaryWriter ( Stream ) ;
下面是通過此構造函數創建、初始化BinaryWriter實例的具體代碼,其中SplitFileStream是FileStream實例:
BinaryWriter TempWriter = new BinaryWriter (SplitFileStream) ;
BinaryWriter類結構較BinaryReader簡單,表04是BinaryWriter類中的常用方法及其說明:
方法 說明 Close 關閉當前的BinaryWriter和基礎流。 Flush 清理當前編寫器的所有緩沖區,使所有緩沖數據寫入基礎設備。 Seek 設置當前流中的位置。 Write 將值寫入當前流。表04:BinaryWriter類常用方法及其說明
至此Visual C#實現分割合並程序時所主要使用的類就介紹完了,下面就來介紹Visual C#實現分割文件的解決方法及其具體實現步驟。