We introduced #binaryReadStream and friends as a work around in Pharo 4. The 
reason we didn’t fix the problem properly is that we’ve been waiting for the 
introduction of XStreams in hopes of getting a cleaner stream API.

Max

> On 29 Feb 2016, at 23:06, Sven Van Caekenberghe <[email protected]> wrote:
> 
> 
>> On 29 Feb 2016, at 20:27, Udo Schneider <[email protected]> wrote:
>> 
>> All,
>> 
>> is there any reason why MemoryFileSystemFile>>#readStream forces it's 
>> content to a String (#aString)?
>> 
>> readStream
>>      ^ ReadStream on: self bytes  asString from: 1 to: size
>> 
>> I'm parsing XML files from an in-memory ZIP Archive and had some real 
>> problem with non-ASCII characters. Took me some while to figure out reading 
>> from the in-memory-archive returns a String. This prevents the XML Parser 
>> from doing a PI based decoding (utf-8 in this case).
> 
> I think it is not good to do this, better stick with bytes.
> 
> Primitive streams should be binary only, interpreting them as characters is 
> easily done wrapping a ZnCharacter[Read|Write]Stream on them.
> 
> But this whole situation is a mess.
> 
>> Just as a sidenote: Although the GT-Spotter/XML Integration relies on 
>> FileReference it assumes that the file is in the DiskFilesystem (some 
>> methods only pass a Path). Is this intentional? If not I'd try to fix it on 
>> the run.
>> 
>> Thanks,
>> 
>> Udo
>> 
>> 
> 
> 


Reply via email to