| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Работа стекстовым файлом |
| Автор: sani79 24.3.2006, 11:25 |
| Добрый день! Может кто подскажет как прочесть нужное кол-во строк в текстовом файле, без его открытия и желательно наиболее быстрым способом (в смысле чтоб программа не сильно задумывалась на больших файлах) |
| Автор: Snowy 24.3.2006, 11:28 |
| Без открытия, естественно, никак. Можно, не читая файл в память, анализировать его блоками с конца. |
| Автор: sani79 24.3.2006, 11:34 |
| Имелось ввиду не открытие как таковое, а чтобы не прогружать его весь в память. А есть код, как с конца построчно считывать? |
| Автор: Snowy 24.3.2006, 11:45 |
| Построчно с конца читать невозможно. Нужно читать блоками, например по 1кб. Изкать в нем в обратном порядке символы #13#10. Как найдем нужное кол-во, значит, начиная отсюда и будут наши строки. Грузим данные с этого места до конца файла в TStringList - он сам нарежет на строки. |
| Автор: sani79 24.3.2006, 11:48 |
| Ну да точно... спасибо... нужно просто примерно подсчитать сколько будет весить n строк, взять немного с запасом, загрузить в TStringList и считать последние n строк. Все понятно. |