什么对象持有大量文本?

时间:2011-07-15 02:24:55

标签: smalltalk pharo seaside

我正在计划一个Seaside应用程序来保存文本,一个例子可能达到5Mb。什么样的物体最适合这个?

我还想对这段文字进行一些迭代。

谢谢,文斯

编辑:感谢您迄今为止的回复。该文件是一个CSV文件,从遗留财务系统生成大约需要40分钟,因此必须预先生成并存储。每条线都是客户记录,我需要将每一条线拉出来并在客户登录时使用这些值。客户访问是不可预测的,并且与遗留系统连接以生成每条线路是最后的手段。

4 个答案:

答案 0 :(得分:6)

鉴于文件需要花费很长时间才能生成,并且您稍后需要对文件进行或多或少的随机访问,我会选择解析文件并在之后将结构化数据保留在内存中。

您可以使用Squeaksource上的CSV Parser项目。它将创建您可以使用的CSV记录的结构化对象树。

答案 1 :(得分:3)

使用外部文本文件和特定类的某个实例作为该文件的表示。使用对象的oop作为文件的名称。

答案 2 :(得分:1)

正如约翰所说,只需使用一组客户,并从CSV中填写。根据您的访问需求,您可以使用Dictionary或OrderedCollection来保存它。

答案 3 :(得分:0)

5兆没什么。别担心。

如果您无法将这些CSV记录重新定义为对象(在解析和实例化之后),那么字符串集合甚至Streams就可以了。

如果您需要键控查找,那么Dictionary或LookupTable就可以完成这项工作。

我在内存中有100兆的文本数据(1行),甚至可以保留在图像中(图像保存),没有任何问题。

问候。