程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C#實現文件分割合並器(1)

用C#實現文件分割合並器(1)

編輯:關於C語言

文件分割器主要是為了解決實際生活中攜帶大文件的問題,由於存儲介質容量的限制,大的文件往往不能夠一下子拷貝到存儲介質中,這只能通過分割程序把的文件分割多個可攜帶小文件,分步拷貝這些小文件,從而實現攜帶大文件的目的。而合並器的作用則能夠把這些分割的小文件重新合並,恢復原來的文件。.Net FrameWork SDK中提供的許多處理文件的類庫,通過這些類能夠簡捷、靈活的實現對文件的操作。本文的主要內容就是探討一下Visual C#在對文件編程中的一個比較流行的應用--文件分割器和合並器。下面就首先了解一下Visual C#在實現分割、合並器時所使用的.Net FrameWork SDK提供的類庫及其在本文中的使用方法。

一.本文程序設計、調試和運行的環境:

(1).微軟公司視窗2000服務器版。

(2).Visual Studio .Net 2003企業構建版,.Net FrameWork SDK版本號4322。

二.Visual C#實現分割合並程序時使用的類庫及其使用方法:

Visual C#對文件的編程所使用的類庫一般都在.Net FrameWork SDK中的System.IO命名空間中,System.IO命名空間提供了在數據流和文件層次上的存取方法,存取方法一般都提供同步、異步二種模式。Visual C#實現分割合並程序時主要使用的是在數據流層次上的類,主要是:FileStream、BinaryReader和BinaryWriter,這三個類一般都提供了同步、異步模式來存取文件數據流,本文一般采用同步模式,雖然在性能上有所欠缺,但使用起來非常方便,也不容易出錯。

FileStream類對Visual C#實現文件編程是非常重要的類,具體表現在對文件系統中文件的讀、寫操作上。FileStream類為適應各種具體操作,提供了許多構造函數。本文是使用文件路徑對應的字符串和文件打開方式來創建、初始化FileStream實例的。具體語法如下:

public FileStream (
 string path ,
 FileMode mode
) ;

下面是使用此構造函數創建、初始化FileStream實例的具體代碼:

FileStream SplitFileStream = new FileStream ( "C:\\temp.avi" , FileMode.Open ) ;

表01是FileStream類的常用屬性及其說明:

屬性 說明 CanRead 獲取指示當前流是否支持讀取值。 CanSeek 獲取指示當前流是否支持查找值。 CanWrite 獲取指示當前流是否支持寫入值。 Handle 獲取當前FileStream對象所封裝文件的操作系統文件句柄。 IsAsync 獲取指示FileStream是異步還是同步打開的值。 Length 獲取用字節表示的流長度。 Name 獲取傳遞給構造函數的FileStream的名稱。 Position 獲取或設置此流的當前位置。     表01:FileStream類常用屬性及其說明

FileStream類中最重要的是其中的方法,表02是FileStream類中的常用方法及其說明:

方法 說明 BeginRead 開始異步讀。 BeginWrite 開始異步寫。 Close 關閉文件並釋放與當前文件流關聯的任何資源。 EndRead 等待掛起的異步讀取完成。 EndWrite 結束異步寫入,在I/O操作完成之前一直阻塞。 Flush 清除該流的所有緩沖區,使所有緩沖的數據被寫入基礎設備。 Lock 防止其他進程訪問某個文件的全部或部分。 Read 從流中讀取字節塊並將該數據寫入給定緩沖區中。 ReadByte 從文件中讀取一個字節,並將讀取位置提升一個字節。 Seek 將該流的當前位置設置為給定值。 SetLength 將該流的長度設置為給定值。 Unlock 允許其他進程訪問以前鎖定的某個文件的全部或部分。 Write 使用從緩沖區讀取的數據將字節塊寫入該流。 WriteByte 將一個字節寫入文件流的當前位置。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved