.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());
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д