バイナリ操作の例 [VB.NET] 不指定

admin , 2011/09/25 16:26 , VB.NET , はを評論して(0) , はを読んで(983) , Via 当駅のオリジナル の大きい | の中で | の小さい
[font=Tahoma]VB.NETのメインアプリケーションのバイナリの操作方法や機能がある:オープン、クローズ、GET、PUTなど。
Open:バイナリを使用するために、オープンモードの戻ってください。
Close:ファイルを閉じる。
Get:]場所が読み取り、現在位置から省略された場合、指定されたコンテンツのファイルの場所を。
Put:位置パラメータを書き込むために現在の位置から省略された場合、指定された場所にファイルを書き込む。

VB.NETの動作を説明するためのバイナリコードの次の組み合わせ

次の手順は、元のファイルが1つのファイルにし、この後の二つのファイルの組み合わせを完成してから、2つのファイルに分割されています。ヘッダの構造は、その、独自の非常にシンプルで、8バイトの合計(つまり、2つのlong整数の長さ)によって定義され、最初の4バイトは、次の4バイトのストアの後、最初のファイルの長さを格納するファイルの長さ。視覚的にファイルの構造を表現するために、それは二つのファイルが存在すると仮定され、最初のファイルの長さは100バイトであり、二番目のファイルが200バイトである場合、結果としてマージされたファイルは308バイトです。ビューのためのポイントは、ファイルの構造は次のとおりです。

4最初のファイルの長さ
4番目のファイルの長さ
最初の100のバイナリコンテンツ
第二のバイナリファイルの内容200

8バイトのヘッダ長が固定されているに加えて、バックの長さは、ファイルが原因で変化します。
[/font]

    ‘实现文件的合并  
    Private Sub MergeFile()  
    Dim strFileName1 As String '第一个文件  
    Dim strFileName2 As String '第二个文件  
    Dim strOutput As String '合并后的文件  
    Dim aryContent() As Byte '用来读取文件的数组,每次读取前要重定义  
    strFileName1 = "c:\a.bmp"
    strFileName2 = "c:\.bmp"
    strOutput = "c:\out.bmp"
    '注意下面三个Open语句都是用Binary模式打开的  
    Open strOutput For Binary As #100  
    Open strFileName1 For Binary As #1  
    Open strFileName2 For Binary As #2  
    Put #100, , LOF(1) '取得第一文件的长度,并把它写入到合并文件的文件头中  
    Put #100, , LOF(2) '取得第二文件的长度,并写入到合并文件的文件头中  
    ReDim aryContent(LOF(1) - 1) '重定义数组,为读取文件做准备  
    Get #1, , aryContent() '取得第一文件的内容到数组  
    Put #100, , aryContent() '把第一文件的内容写到合并文件中  
    ReDim aryContent(LOF(2) - 1)  
    Get #2, , aryContent()  
    Put #100, , aryContent()  
    '关闭文件  
    Close #1  
    Close #2  
    Close #100  
    End Sub  
    ‘实现文件的拆分  
    Private Sub SplitFile()  
    Dim strFileName1 As String  
    Dim strFileName2 As String  
    Dim strFileSplit As String  
    Dim aryContent() As Byte  
    Dim lngLOF(1) As Long '存放从文件头取得的两个文件的长度  
    strFileName1 = "c:\a2.bmp"
    strFileName2 = "c:\2.bmp"
    strFileSplit = "c:\out.bmp"
    Open strFileSplit For Binary As #100  
    Get #100, , lngLOF(0) '取得第一文件的长度  
    Get #100, , lngLOF(1) '第二文件的长度  
    Open strFileName1 For Binary As #1  
    Open strFileName2 For Binary As #2  
    ReDim aryContent(lngLOF(0)-1) '用第一文件的长度重定义数组,为读取第一文件做准备  
    Get #100, 9, aryContent() '从第9字节,即文件后面开始读取第一文件的内容  
    Put #1, , aryContent() '把取得的内容写入到拆分文件中  
    ReDim aryContent(lngLOF(1)-1)  
    Get #100, 9 + lngLOF(0) + 1, aryContent() '从第9字节再加上第一文件的长度处开始读取第二文件的内容,这里可以清楚地看到文件头的作用了  
    Put #2, , aryContent  
    Close #1  
    Close #2  
    Close #100  
    MsgBox "拆分完成。", vbInformation


それは読み取りと書き込みをするのは比較的簡単で直感的なテキストファイル形式の不在ですので、しかし、あなたがヘッダファイルの構造がそれを処理できないことを知って、そしてファイルがわからない場合は、ファイルヘッダのバイナリ操作で、理解の本質である最初に含まれる情報は、文書の操作は、実際に何を入れていないと、Getルールに従って行われる。

Translate By Google.com From Besplatno Main Site
発表は評論します

愛称

URL

電子メール

"あなたもOpenIDで登って入ることができます"、:
はHTMLを開けます はUBBを開けます は表情を開けます は隠れます は私をしっかり覚えます [は] [登録します]