.NET 4.x Считать с файла массив байтов максимум по 4мб в строке - C#
Формулировка задачи:
Нужно считать массив байтов из файла и превратить в строку.
Вот собственно как я это делаю:
Ну а если файл весит меньше мегабайта то оно дописывает лишнее и файл стает весить 7 или больше мб
Собственно задача:
-Считывать по максимум 4 мб в строку
-Переводить байты в строку
Ну оно реализовано осталось сделать так, чтобы не дописывалось лишнее.
using (StreamWriter file = new StreamWriter(path + ".elmanz", true)) using (var fileIn = File.Open(path, FileMode.Open, FileAccess.Read)) { var buff = new byte[4 * 1024 * 1024]; int readed = 0; bool flag; do { flag = (readed = fileIn.Read(buff, 0, buff.Length)) >= buff.Length; StringBuilder hex = new StringBuilder(buff.Length * 2); foreach (byte b in buff) hex.AppendFormat("{0:x2}", b); file.WriteLine(hex.ToString()); } while (flag); }
Решение задачи: «.NET 4.x Считать с файла массив байтов максимум по 4мб в строке»
textual
Листинг программы
using (StreamWriter file = new StreamWriter(path + ".elmanz", true)) using (var fileIn = File.Open(path, FileMode.Open, FileAccess.Read)) { var buff = new byte[4 * 1024 * 1024]; StringBuilder hex = new StringBuilder(buff.Length * 2); for(;;) { int bytesRead = fileIn.Read(buff, 0, buff.Length); if (bytesRead == 0) break; hex.Length = 0; for (int i=0; i<bytesRead; i++) hex.AppendFormat("{0:x2}", buff[i]); file.WriteLine(hex.ToString()); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д