АС
Анюта Саяпина

C# Как привельно считать файл большого размера в оперативку?

byte[] buffer = File.ReadAllBytes(textBox1.Text);

OutOfMemoryException

1 Гб весит файл, мне нужен массив байтов

Ну не в оперативку, но в память

ну вы поняли

А можно както посмотреть как реализован ReadAllByte

Просто создавать поток FileStream и указывать смещение типом int в буфере не удобно

ИО
Ирина Осипова

http://msdn.microsoft.com/en-us/library/windows/desktop/aa366556(v=vs.85).aspx

Работать с файлом как с массивом байтов можно сделав memory mapping файла. При этом не надо занимать гигабайт оперативки - ОС будет использовать механизм виртуальной памяти для подкачки файла в физическую память по мере надобности

Для C#

http://msdn.microsoft.com/en-us/library/system.io.memorymappedfiles.memorymappedfile.createfromfile(v=vs.110).aspx

МM
Марина Marinus

Может это ошибка перегрузки byte, у них же тоже есть диапазон...

ЮВ
Юля Веденина

только прямой доступ к памяти иначе будет бо-бо. НИКАКОГО СЧИТЫВАНИЯ ТАКОГО БОЛЬШОГО ФАЙЛА В ОПЕРАТИВКУ.
послушайте, что написал Сергей.

Похожие вопросы
C++ добавление в файл
как сохранить exe файл в C++ ?как сохранить exe файл в C++ ?
как считать бинарный файл у C++. ifstream не работает=( подскажите код
Как считать весь stdin/файл в c++?
C#. Помогите органиpовать Поиск и удаление записей в большом файле
самые большие размеры у файлов в ..
Как при считывании файла потоком ifstream считать файл до конца? C++
C++ считать float числа из файла
C, как считать из файла в структуру текст и числа по отдельности
c++ Как из файла считать строку N