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

Visual C#實現文件分割合並器

編輯: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 將一個字節寫入文件流的當前位置。

  其中:BeginRead、EndRead和BeginWrite、EndWrite是二對異步方法,其功能相當於Read和Write方法。

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 4
  • 下一頁
  • 尾頁
  • 共4頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved