Чтение бинарного файла по частям - C#
Формулировка задачи:
Нужно разделить бинарный файл на куски и записать каждый в отдельный фаил: если размер файла 7 байт - то должно получится 4 фаила размером 2,2,2,1
Как я это делаю:
Вроде цикл проходит но фаил при этом остается пустым .И еще не понятно как добавить значение count в имя фаила который создается (понял что нужно обьединить 2 строки). Как быть с тем что он не сможет выполнить последний проход ( 7баит ) добавить исключение ?
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++; }
Решение задачи: «Чтение бинарного файла по частям»
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++; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д