#c_sharp
Возможно ли в C# прочитать/загрузить файл в оперативную память и потом оттуда быстро его построчно прочитать? Нужно читать, скажем, файлы, большие 4 GB.
Ответы
Ответ 1
Если вы используете Net 4.0, то попробуйте использовать класс MemoryMappedFile, предназначенный специально для чтения файлов больших размеров Либо вариант использовать класс StreamReader, построчно читаю из файла с помощью функции ReadLine Можно использовать LINQ int result = File.ReadLines(filePath).Count(); Функция File.ReadLines будет возвращать IEnumerable < string>, который будет лениво загружать в память новую строку(то есть по требованию), и у вас не будет большая загрузка оперативной памяти. В переменной result будет содержаться общее количество строк в файле. Можно Count() убрать и просто в цикле читать построчно файл foreach(var line in File.ReadLines(filePath)) { // line содержит прочитанную строку из файла(текущая строка загрузиться в память только в этот момент) }
Комментариев нет:
Отправить комментарий