В каком объекте можно хранить большое количество текста?

Я планирую приложение Seaside для хранения текста, например, до 5 МБ. Какой объект лучше для этого?

Я также хотел бы сделать несколько итераций над этим текстом.

Спасибо Винс

Редактировать: Спасибо за ваши ответы до сих пор. Этот файл представляет собой файл CSV, генерация которого занимает около 40 минут из устаревшей финансовой системы, поэтому его необходимо предварительно сгенерировать и сохранить. Каждая строка - это запись клиента, и мне нужно вытащить каждую из них и использовать значения по мере того, как клиент входит в систему. Доступ клиента непредсказуем, и взаимодействие с унаследованной системой для генерации каждой строки на лету является последним средством.

4 ответа

Решение

Учитывая, что генерация файла занимает столько времени и что вам потребуется более или менее произвольный доступ к файлу позже, я бы предпочел выполнить синтаксический анализ файла и впоследствии сохранить структурированные данные в памяти.

На Squeaksource есть проект CSV Parser, который вы можете использовать. Это создаст структурированное дерево объектов из записей CSV, которые вы можете использовать.

Используйте внешний текстовый файл и некоторый экземпляр определенного класса в качестве представления этого файла. Используйте oop объекта в качестве имени файла.

Просто используйте коллекцию клиентов и заполните ее из CSV, как сказал Йохан. В зависимости от ваших потребностей доступа вы можете использовать словарь или OrderedCollection для его хранения.

5 мег это ничего. Не беспокойся об этом.

Если вы не можете преобразовать эти CSV-записи в объекты (после их разбора и создания экземпляров), тогда коллекция строк или даже потоки будут в порядке.

Если вам нужен поиск по ключу, то Dictionary или LookupTable сделает эту работу.

У меня было 100 мегабайт текстовых данных в памяти (1 миллион строк), и я даже без проблем сохранил изображение (сохранение изображения).

С уважением.

Другие вопросы по тегам