2012-12-20 86 views
0

我讀取了一個900字節的二進制文件,其中包含很多信息。
像這樣:如何從字節數組中獲取字節並獲取數字

 Dim myFile As String = txt_mydir.Text + "\MY_FILE.BIN" 
    If IO.File.Exists(myFile) Then 
     Dim fInfo As New FileInfo(myFile) 
     Dim numBytes As Long = fInfo.Length 
     Dim fStream As New FileStream(myFile, FileMode.Open, FileAccess.Read) 
     Dim br As New BinaryReader(fStream) 
     Dim data As Byte() = br.ReadBytes(CInt(numBytes)) 

所有字節字節組中的 '數據' 結束。

現在我必須讀取用VB6結構編寫的數字到該文件中。結構是我的,我知道什麼是什麼,在哪裏。 例如,我需要一個VB.NET'短'的數字,它是在字節81和82. 其中我有所有其他基本數字類型出去。

如何從特定位置的「數據」中取出所需數量的字節,使用確切的長度並從中獲取適當的數字(short,int,double ...)?

+0

一個循環,可以給你所需要的例子嗎? – Oded

+0

我需要示例時如何舉例? –

+0

數組的例子,你需要什麼值?輸入?當然,你可以給一些。 – Oded

回答

1

使用BinaryReader的方法來獲取你的原始結構

Dim i As Integer = br.ReadInt32() 
Dim d As Double = br.ReadDouble() 
Dim s As String = br.ReadString() 

等等領域。您必須按照寫入文件的順序讀取這些字段。

嵌入到這樣

While br.BaseStream.Position() <> inFile.BaseStream.Length() 
    ... 
End While 
+0

非常有趣的奧利維爾,並工作。但是我不得不尋求超過一半的文件,因爲我必須傳遞超過200個不需要的變量。 –

+0

您可以先找到想要的位置,然後使用適當的讀取方法。 –

+0

這可能是一個解決方案。我是vb.net的新手,所以你能展示如何尋找所需的位置? –

相關問題