Прочесть байты из файла частями - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Считываю файл командой
Листинг программы
  1. Dim B As Byte() = IO.File.ReadAllBytes("")
проблема логична, и заключается в том, что с маленькими файлами все работает великолепно, а вот с большими, не было и сомнений, что всё зависает, сжирая уйму памяти... Появилась здравая мысль считывать файл частями, например, по 1000 байт, и тем самым снизить нагрузку на память... Дорогие коллеги, прошу помощи с подобным... Пытался работать с таким кодом:
Листинг программы
  1. Dim myFileStream As System.IO.FileStream
  2. myFileStream = New System.IO.FileStream(InputFile, IO.FileMode.Open)
  3. Dim myBinaryReader As New System.IO.BinaryReader(myFileStream)
  4. Dim bData() As Byte = myBinaryReader.ReadBytes(myFileStream.Length)
Но, не сумел в нём разобраться... Буду благодарен за любую помощь..
разумеется понял, что
Листинг программы
  1. myBinaryReader.ReadBytes(myFileStream.Length)
позволяет считать заданную длину файла, и заменив "myFileStream.Length" на требуемую длину, можно получить нужный длины часть байт, но как быть дальше? я считываю первые 10мб, как считать вторые 10? ведь у ReadBytes есть параметр длинны, но не начала...
разобрался в вопросе, дабы уж не засорять сайт, сразу спрошу, как дописать байты в файл? использую
Листинг программы
  1. My.Computer.FileSystem.WriteAllBytes(File, B, True)
но после первой записи, выдает ошибку о том, что файл занят... понимаю, что файл надо закрывать, но вот как?

Решение задачи: «Прочесть байты из файла частями»

textual
Листинг программы
  1. Dim bWriter As New BinaryWriter(File.Open(fileName, FileMode.Create))
  2. Try
  3.     bWriter.Write(bData1)
  4.     bWriter.Write(bData2)
  5.     bWriter.Write(bData3)
  6.     bWriter.Write(bData4)
  7. Finally
  8.     bWriter.Close()
  9. End Try

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы