Запись файла весом 5гб в буфер - C#
Формулировка задачи:
Доброго времени суток. Мне нужно записать байты из потока файла весом в 5гб в буфер, но размер Int не позволяет...
Подскажите, как считать все 5гб данных?
FileStream file = new FileStream(path + name, FileMode.Open, FileAccess.Read); byte[] buff = new byte[file.Length]; //file.Length - long - 5gb file.Read(buff, 0, buff.Length); // offsett, count - int до 1гб
Решение задачи: «Запись файла весом 5гб в буфер»
textual
Листинг программы
int gb = 1073741824; if (file.Length > gb) { long fullsize = file.Length; do { file.Read(Resp, 0, gb); file.Seek(gb, SeekOrigin.Begin); await networkStream.WriteAsync(Resp, 0, gb); fullsize -= gb; if(fullsize <= gb) { file.Read(Resp, 0, (int)fullsize); await networkStream.WriteAsync(Resp, 0, (int)fullsize); break; } } while (fullsize <= gb); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д