成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

重點講解VB.NET二進制文件操作

開發 后端
這里介紹了VB.NET二進制文件操作方法和函數有:Open,Close,Get,Put。文章結合代碼講解VB.NET二進制文件的操作,希望可以給大家帶來技術上的提高。

VB.NET有很多值得學習的地方,這里我們主要介紹VB.NET二進制文件。大家都知道所有文件的存儲其實質都是二進制的,VB.NET二進制文件往往由兩部分組成,一部分是文件頭另一部分存放了文件的內容。文件頭通常存放與文件格式有關的信息,以BMP等圖象文件為例,它們的文件頭中存放了是何種圖形格式、圖象大小、調色板等信息,要顯示圖象時先讀取文件頭以獲得文件的詳細信息,然后再按其格式把圖象內容顯示出來。用二進制方式可以操作任何的文件,當然至關重要的一點是要清楚了解所操作文件的文件頭結構。
#T#VB.NET二進制文件操作主要應用的方法和函數有:Open,Close,Get,Put等。

Open:在For后面的打開模式要用Binary。
Close:關閉文件。
Get:在指定位置取得文件的內容,如果省略位置則從當前位置讀取。
Put:在指定位置寫入文件,如果省略位置參數就從當前位置寫。

下面結合代碼講解VB.NET二進制文件的操作

下述程序完成了將兩個文件結合成一個文件以及將這個結合后的文件再拆分成原來的兩個文件。文件頭的結構是自己定義的,非常簡單,共8個字節(也就是兩個長整型的長度),前4個字節存放***個文件的長度,后4個字節存放第二個文件的長度。為了更直觀地表達文件的結構,現假設有兩個文件,***個文件長度是100字節,第二個文件是200字節,那么合并后得到的文件應該是308字節。按順序來看,文件的結構是:

4***文件的長度
4第二文件的長度
100***文件的二進制內容
200第二文件的二進制內容

除了文件頭的8字節長度是固定的后面的長度都會因文件的不同而變化的。

  1. ‘實現文件的合并  
  2. Private Sub MergeFile()  
  3. Dim strFileName1 As String '***個文件  
  4. Dim strFileName2 As String '第二個文件  
  5. Dim strOutput As String '合并后的文件  
  6. Dim aryContent() As Byte '用來讀取文件的數組,每次讀取前要重定義  
  7. strFileName1 = "c:\a.bmp" 
  8. strFileName2 = "c:\.bmp" 
  9. strOutput = "c:\out.bmp" 
  10. '注意下面三個Open語句都是用Binary模式打開的  
  11. Open strOutput For Binary As #100  
  12. Open strFileName1 For Binary As #1  
  13. Open strFileName2 For Binary As #2  
  14. Put #100, , LOF(1) '取得***文件的長度,并把它寫入到合并文件的文件頭中  
  15. Put #100, , LOF(2) '取得第二文件的長度,并寫入到合并文件的文件頭中  
  16. ReDim aryContent(LOF(1) - 1) '重定義數組,為讀取文件做準備  
  17. Get #1, , aryContent() '取得***文件的內容到數組  
  18. Put #100, , aryContent() '把***文件的內容寫到合并文件中  
  19. ReDim aryContent(LOF(2) - 1)  
  20. Get #2, , aryContent()  
  21. Put #100, , aryContent()  
  22. '關閉文件  
  23. Close #1  
  24. Close #2  
  25. Close #100  
  26. End Sub  
  27. ‘實現文件的拆分  
  28. Private Sub SplitFile()  
  29. Dim strFileName1 As String  
  30. Dim strFileName2 As String  
  31. Dim strFileSplit As String  
  32. Dim aryContent() As Byte  
  33. Dim lngLOF(1) As Long '存放從文件頭取得的兩個文件的長度  
  34. strFileName1 = "c:\a2.bmp" 
  35. strFileName2 = "c:\2.bmp" 
  36. strFileSplit = "c:\out.bmp" 
  37. Open strFileSplit For Binary As #100  
  38. Get #100, , lngLOF(0) '取得***文件的長度  
  39. Get #100, , lngLOF(1) '第二文件的長度  
  40. Open strFileName1 For Binary As #1  
  41. Open strFileName2 For Binary As #2  
  42. ReDim aryContent(lngLOF(0)-1) '用***文件的長度重定義數組,為讀取***文件做準備  
  43. Get #100, 9, aryContent() '從第9字節,即文件后面開始讀取***文件的內容  
  44. Put #1, , aryContent() '把取得的內容寫入到拆分文件中  
  45. ReDim aryContent(lngLOF(1)-1)  
  46. Get #100, 9 + lngLOF(0) + 1, aryContent() '從第9字節再加上***文件的長度處開始讀取第二文件的內容,這里可以清楚地看到文件頭的作用了  
  47. Put #2, , aryContent  
  48. Close #1  
  49. Close #2  
  50. Close #100  
  51. MsgBox "拆分完成。", vbInformation 

文本文件由于沒有格式所以它的讀寫都比較簡單和直觀,而用二進制操作文件時其實質就是對文件頭的理解,如果不知道文件頭的結構那就無法對文件進行處理了,知道了文件頭所包含的信息后,對文件的操作其實就是按規則進行Get、Put罷了。

責任編輯:田樹 來源: 博客
相關推薦

2010-01-12 13:26:21

VB.NET二進制圖像

2009-10-28 13:24:25

VB.NET文件

2010-01-11 16:04:10

VB.NET使用wit

2009-10-20 10:16:24

VB.NET COMB

2010-01-11 17:05:32

VB.NET操作文本文

2009-12-16 10:49:42

Ruby操作二進制文件

2009-10-13 14:42:30

VB.NET靜態成員

2009-10-14 17:21:47

VB.NET定制Win

2010-01-18 18:20:49

VB.NET使用API

2010-01-12 09:51:07

VB.NET操作dbf

2009-11-02 17:24:57

VB.NET語言

2009-10-10 17:36:47

VB轉型到VB.NET

2009-10-12 13:54:22

VB.NET Data

2009-10-23 13:10:14

VB.NET List

2009-10-15 11:42:05

VB.Net賦值語句

2009-10-29 15:28:38

VB.NET文件操作

2010-01-15 19:04:09

2009-10-10 17:06:09

VB和VB.NET

2009-10-12 16:56:36

VB.NET常量VB.NET枚舉

2009-10-29 13:24:09

VB.NET Cons
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国精产品一品二品国精在线观看 | 超碰av人人 | 久草网址| 毛片免费观看 | 日本久久网 | 日韩av第一页 | 91免费看片神器 | 四虎首页 | 天天色官网 | 51ⅴ精品国产91久久久久久 | 久久免费精品 | 亚洲国产一区在线 | 亚洲免费观看视频 | 99精品国产一区二区三区 | 精品一级 | 中文字幕一区二区三区四区 | 成人av鲁丝片一区二区小说 | 日批免费看 | 久久久久久国产精品免费免费 | 欧美一区成人 | 伊人二区 | 91视频进入 | 欧美激情精品久久久久久变态 | 在线中文字幕av | 欧美一区中文字幕 | 九色一区 | 日本精品视频一区二区三区四区 | 亚洲欧洲一区 | 日本精品久久久久久久 | 欧美韩一区二区 | 国产ts人妖另类 | 五月激情综合网 | 日韩高清www | 久久男人 | 九九热九九 | 国产a视频 | 亚洲欧美在线一区 | 日韩视频在线免费观看 | 亚洲天堂中文字幕 | 久草视频在线播放 | 一区二区三区在线看 |