Запись файла весом 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);
}