Я использую Delphi RAD Studio XE2.
У меня есть несколько очень больших файлов, каждый из которых содержит большое количество строк. Сами строки небольшие - всего 3 дубля, разделенных табуляцией. Я хочу загрузить файл в TStringList
с помощью TStringList.LoadFromFile
, но это вызывает исключение с большими файлами.
Для файлов из 2 миллионов строк (примерно 1 ГБ) я получаю исключение EIntOverflow
. Для больших файлов (например, 20 миллионов строк и примерно 10 ГБ) я получаю исключение ERangeCheck
.
У меня есть 32 ГБ ОЗУ для игры, и я просто пытаюсь загрузить этот файл и использовать его быстро. Что здесь происходит и какие еще у меня есть варианты? Могу ли я использовать файловый поток с большим буфером для загрузки этого файла в TStringList? Если да, то не могли бы вы привести пример.
TFileStream
. - person Jerry Dodge   schedule 19.11.2014TFileStream
для чтения строк текстового файла вTStringList
? - person Trojanian   schedule 19.11.2014