Чтение бинарного файла по частям - C#

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

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

Нужно разделить бинарный файл на куски и записать каждый в отдельный фаил: если размер файла 7 байт - то должно получится 4 фаила размером 2,2,2,1 Как я это делаю:
 BinaryReader br =new BinaryReader(File.Open(filename, FileMode.Open));
BinaryWriter bw=  new BinaryWriter(File.Open(File.Create(filename2,FileMode.ReadWrite));
int count =1;
int required =2;
while(br.BaseStream.Position != br.BaseStream.Length)
{
byte[] data = br.ReadBytes(required);
bw.Write(data);
count++;
}
Вроде цикл проходит но фаил при этом остается пустым .И еще не понятно как добавить значение count в имя фаила который создается (понял что нужно обьединить 2 строки). Как быть с тем что он не сможет выполнить последний проход ( 7баит ) добавить исключение ?

Решение задачи: «Чтение бинарного файла по частям»

textual
Листинг программы
            using (var src = File.Open("source", FileMode.Open))
            {
                const int splitSize = 2;
 
                byte[] buf = new byte[splitSize];
 
                int i = 0;
 
                while (src.Position != src.Length)
                {
                    int read = src.Read(buf, 0, buf.Length);
 
                    using (var dst = File.Create("dst" + i))
                    {
                        dst.Write(buf, 0, read);
                    }
 
                    i++;
                }
            }

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


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

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

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