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 >> >> > >
