在VB.NET中读取时,从文件中排除二进制数据的前“ x”个字节

汤玛士

我是从事二进制文件工作的菜鸟。它扩展了这个问题:读取数据的“ x”字节

我的二进制文件大小,如果1025 KB,即1049600字节,其中包含1024字节的标头信息。我只想在第1023位(等于1048576 bytes)之后读取剩余数据

如何排除前1024个字节

我正在使用相同的代码,但无法正常工作,我的代码有什么问题吗?

Dim arraySizeMinusOne = 5
Dim buffer() As Byte = New Byte(arraySizeMinusOne) {}
Using fs As New FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None)
    fs.Read(buffer, 0, buffer.Length)
    Dim _arraySizeMinusOne = 1048575
    Dim _buffer() As Byte = New Byte(_arraySizeMinusOne) {}
    'Process 1048576 bytes of data here
End Using
γηράσκωδ'αείπολλάδιδασκόμε

创建一个byte长度为整个文件数组,减去减去的大小再减去1。最后一个1原因是vb数组与c#数组不同。在vb中:

Dim buff() As Byte = New Byte(10) {}

在C#中创建一个11大小的数组:

byte[] buff = new byte[10];

创建一个10尺寸!

Using fs As New FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None)
    Dim buff() As Byte = New Byte(CInt(fs.Length - 1024 - 1)) {}
    Dim buffTotal() As Byte = New Byte(CInt(fs.Length - 1)) {}
    'read all file
    fs.Read(buffTotal, 0, buffTotal.Length)
    If fs.Length > 1024 Then
        'move from 1024 byte to the end to buff array
        Buffer.BlockCopy(buffTotal, 1024, buff, 0, buffTotal.Length - 1024)
    End If
End Using

buffer这不是一个好名字,因为在vb中已经存在一个类Buffer将其更改为其他内容buff

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Julia中读取(二进制)文件的后x个字节?

如何从二进制文件中读取除最后X个字节以外的所有字节?

读取二进制文件并遍历每个字节

从二进制文件读取n个字节,直到verilog中的文件结尾

在python中读取二进制文件时跳过了第一个字节

如何从vb.net中的二进制文件读取vb6定长字符串

读取文件的最后X个字节

如何从流中读取x个字节?

无法读取Lua 5.1上二进制文件的每个字节

python从二进制文件读取16个字节长的双

使用 ifstream 从二进制文件一次读取 4 个字节

如何从其他语言的VB二进制文件中读取日期?

c ++有效读取每X个字节中的前几个字节

如何在Linux中比较二进制文件的前N个字节

在vb中将字节数组转换为二进制的更快方法?

覆盖二进制文件中的单个字节使其无法被 objdump 识别?

如何使用Perl从二进制文件中获取最后16个字节?

如何从需要每个元素不同字节长度的外部二进制文件中读取数据?

如何逐字节读取二进制文件?

读取二进制平面文件并跳过字节

C:从二进制文件读取字节

读取二进制文件时切换字节序

如何读取“字”具有不同字节长度的二进制数据文件?

为什么我的Short在VB.net中包含4个字节

霍夫曼压缩读取文件不会复制二进制文件C ++中的所有字节

如何在VB6中读取/写入带有Unicode文件名的二进制文件

无法读取 .jpg 二进制数据,缓冲区只有 4 个字节的数据

如何仅下载数据的前x个字节Python

从Julia的二进制文件中读取4字节字