Чтение файла блоками - C#

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

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

Есть код, который работает:
for (offset = 0; offset < bfs.Length; offset += LenBuf)
            {
                bfs.Seek(offset, SeekOrigin.Begin);
                bfs.Read(buf, 0, LenBuf);
                FillPicBox();
                if (Mode != 0)
                    break;
                Thread.Sleep(200);       //задержка
                count++;
                label19.Text = Convert.ToString(count);
            }
А в этом необработанное исключение System.ArgumentExpection в 6 строке:
//чтение блока из файла с позиции offset в buf
        public void TransmitBlocks()
        {
            FileStream bfs = new FileStream(MyPutch, FileMode.Open, FileAccess.Read);   //открыть поток
            bfs.Seek(offset, SeekOrigin.Begin);         //установить начало чтения
            bfs.Read(buf, 0, LenBuf);                   //считать LenBuf(512) байтов в buf
            bfs.Close();                                //закрыть поток
            Blks--;                                     //декремент счетчика блоков
        }
Да, еще есть разница в размере buf: в первом случае 64 байта, во втором - 512. Ткните носом где я косячу, плиз...

Решение задачи: «Чтение файла блоками»

textual
Листинг программы
 buf = BitConverter.GetBytes(Blks);      //количество передаваемых блоков

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


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

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

10   голосов , оценка 3.9 из 5
Похожие ответы