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))

所有字节都在 bytearray 'data' 中完成。

现在我必须将用 VB6 结构写入的数字读入该文件。结构是我的,我知道什么是什么,什么是什么。例如,我需要一个位于字节 81 和 82 处的 VB.NET 'short' 数字。其中,我还有所有其他基本数字类型要退出。

如何从特定位置的“数据”中取出所需数量的字节,长度准确,并从中获取适当的数字(短、整数、双精度......)?

4

1 回答 1

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
于 2012-12-20T17:55:56.130 回答