В каком объекте можно хранить большое количество текста? - PullRequest
1 голос
/ 15 июля 2011

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

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

Спасибо, Винс

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

Ответы [ 4 ]

6 голосов
/ 16 июля 2011

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

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

3 голосов
/ 15 июля 2011

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

1 голос
/ 18 июля 2011

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

0 голосов
/ 13 октября 2011

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

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

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

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

Привет.

...