Создайте массив byte
длиной всего файла минус, размер, который вы исключаете, и минус 1. Последний 1
состоит в том, что массивы vb отличаются от массивов c #. В vb:
Dim buff() As Byte = New Byte(10) {}
создает массив размером 11 и в c #:
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
.