2012/8/1 Sven Van Caekenberghe <sven@beta9.be>
Paul,

On 31 Jul 2012, at 18:25, Paul DeBruicker <pdebruic@gmail.com> wrote:

> Is there an easy/standard way to open an ascii file and iterate through it line by line?
>
>
> I want to put several files contents into their own OrderedCollections and then do awful things to them. The files are ~500MB each

This uses code that is already in Pharo:

'/tmp/foo.txt' asFileReference readStreamDo: [ :readStream |
�� �� �� �� | lineReader |
�� �� �� �� lineReader := ZnLineReader on: readStream.
�� �� �� �� Array streamContents: [ :output |
�� �� �� �� �� �� �� �� | line |
�� �� �� �� �� �� �� �� [ (line := lineReader nextLine) isEmpty ]
�� �� �� �� �� �� �� �� �� �� �� �� whileFalse: [ output nextPut: line ] ] ]

Works with any line end convention. Check the class comment of ZnLineReader.


No, it doesn't work in latest Pharo 1.4 (14557)
MessageNotUnderstood: FileSystemReadStream>>isBinary

Cheers,

Hern��n