|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Andrianov 2:5020/1507.400 03 Apr 2002 22:20:30 To : Alexander CHashchavik Subject : Re: Изменение больших текстовых файлов. -------------------------------------------------------------------------------- Однажды 29-Mar-02 в 15:31 Alexander CHashchavik (2:450/199.55) написал Sergey Andrianov по поводу -=- Изменение больших текстовых файлов. -=- AC>>> Т.е. имеются текстовые файлы (до 1 мега или >), нужно написать AC>>> текстовый AC>>> pедактоp, учитывая что ОП должно использоваться < 600 кил. SA>> Виртуальная память. Т.е. разбиваешь файл на блоки и часть их хранишь в SA>> ОЗУ, а часть - на диске. AC> Это понятно, но если в пpоцессе pедактиpования будут добовлятся данные, а AC> выделеная область в ОП будет уже полностья занята - как поступать, AC> пеpеписывать занова что-ли весь кэш на диске. Зачем весь? Разбиваешь то, что в ОП, на 2 куска и "новый" сбрасываешь на диск включаешь общий список кусков. Kуски не обязаны быть фиксированного размера. Или напротив, отрезаешь кусок фиксированного размера и сбрасываешь его на диск, опять же, включив в список. Т.е. еще раз: 1. Разбиваешь файл на куски, каждый из которых не больше трети-половины свободной части ОЗУ. 2. Составляешь список этих кусков. 3. Hужный считываешь в память и редактируешь. 4. При превышении критического размера разбиваешь кусок на два, корректируя в списке параметры одного и включив в список вслед за ним другой. 5. При необходимости можно предусмотреть и слияние кусков при удалении части текста. 6. По окончании редактирования сливаешь все куски в файл согласно списку. До свидания, в 22:13 MSK Sergey --- * Origin: Sergiev Posad (2:5020/1507.400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/52053CAB802F.html, оценка из 5, голосов 10
|