[St-ES] Pareseo ficheros de texto
Esteban A. Maringolo
eMaringolo at smalltalking.net
Tue Aug 23 13:25:07 MDT 2005
Hola Eduardo:
Eduardo Ferro Aldama escribió:
> Buenos dias.
>
> Pare realizar un parseo de un fichero de texto con registros separados
> por saltos de linea y con cada campo separado por un caracter
> separador... el caso es que he conseguido parsearlo mediante la clase
> FileStream y usando el método #upTo:, pero me da que el sistema que uso
> es un poco burdo.... existe alguna clase que este especializada en
> realizar este tipo de parseos? alguna otra forma de hacerlo?
Para parsear, necesitas una clase de parser, pero lo que vos
necesitas no es parsear, sino "levantar" registros desde un archivo.
Osea... no necesitas un árbol de parseo ni nada similar.
Para eso nada mejor que un FileStream, pues va levantando a demanda
y no tenes todo el contenido del archivo en memoria.
"... instancias el fileStream... blahblah..."
result := OrderedCollection new.
[stream atEnd] whileFalse: [| token |
(token := (stream upTo: anObject) trimBlanks notEmpty) ifTrue: [
result add: (TuClase fromStringRecord: token)
]
].
Saludos.
--
Esteban.
More information about the Smalltalk
mailing list