成人免费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

2009-12-16 10:49:42

Ruby操作二進制文件

2010-01-11 17:05:32

VB.NET操作文本文

2009-10-12 13:54:22

VB.NET Data

2009-10-15 11:42:05

VB.Net賦值語句

2009-10-23 13:10:14

VB.NET List

2009-11-02 17:24:57

VB.NET語言

2010-01-15 19:04:09

2009-10-29 15:28:38

VB.NET文件操作

2009-10-10 17:36:47

VB轉型到VB.NET

2010-01-18 18:20:49

VB.NET使用API

2009-10-13 14:42:30

VB.NET靜態成員

2009-10-14 17:21:47

VB.NET定制Win

2010-01-12 09:51:07

VB.NET操作dbf

2010-01-11 10:19:18

VB.NET啟動外部程

2009-10-10 17:06:09

VB和VB.NET

2009-11-10 16:20:25

VB.NET全局熱鍵
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日干日日 | 欧美久久久久久久 | 天天拍天天操 | www.啪啪.com| 在线播放日韩 | 国产丝袜一区二区三区免费视频 | 国产91在线精品 | 国产在线高清 | 国产欧美在线播放 | 国产精品1 | 欧美一区二区三区在线免费观看 | 亚洲精品4| 91免费观看| 久久这里有精品 | 国产亚洲欧美日韩精品一区二区三区 | 高清欧美性猛交xxxx黑人猛交 | 色综合国产| 天天操天天干天天曰 | 国产农村一级国产农村 | 久久成人高清视频 | 激情一区 | 日韩成人影院 | 暖暖成人免费视频 | 成人在线小视频 | 国产精品高潮呻吟久久久久 | 国产成人免费网站 | 国产成人在线免费 | 国产小视频在线 | 可以在线看的黄色网址 | 欧美综合一区二区三区 | 国产一区二区三区四区 | 国产一级在线 | 亚洲在线一区二区 | 日本久久一区二区三区 | 国产一区二区三区在线看 | 美女在线国产 | 久草热线| 日本在线免费视频 | 拍拍无遮挡人做人爱视频免费观看 | 欧美在线视频二区 | 日韩一二三区视频 |