Как записать байты в массив, в конкретное место vb.net - PullRequest
0 голосов
/ 12 сентября 2018

Я читаю байты из файла в байтовый массив

   Dim input As New FileStream("scm_app.bin", FileMode.Open)
   Dim bytes() As Byte
   bytes = reader.ReadBytes(CInt(input.Length))

Но как указать, что я хочу начать чтение в массив из пятого индекса?

 bytes(5) = reader.ReadBytes(CInt(input.Length))

1 Ответ

0 голосов
/ 12 сентября 2018

Этот код довольно странный. Если вы просто хотите прочитать Bytes из файла, тогда вам не нужно BinaryReader. FileStream может прочитать Bytes для вас. Обычно это даже не требуется, поскольку вы можете прочитать весь файл в массив, например так:

Dim data = IO.File.ReadAllBytes(filePath)

Если вы хотите прочитать определенную позицию в существующем массиве, вы можете использовать FileStream следующим образом:

Dim data As Byte() 'The array to write the data to.
Dim startPosition As Integer 'The position in the array at which to start writing the data.
Dim filePath As String

Using fs = IO.File.OpenRead(filePath)
    fs.Read(data, startPosition, CInt(fs.Length))
End Using
...