Запись файла весом 5гб в буфер - C#

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

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

Доброго времени суток. Мне нужно записать байты из потока файла весом в 5гб в буфер, но размер Int не позволяет...
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гб данных?

Решение задачи: «Запись файла весом 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);
                            }

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


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

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

5   голосов , оценка 4.2 из 5