I see.

However, I still do not understand two things:
1. Why does it work if I read and write to the file system?

f := FileSystem disk workingDirectory / 'pharoicon.png'.
f writeStreamDo: [ :stream |
PNGReadWriter
putForm: ThemeIcons current pharoIcon
onStream: stream ].
f readStreamDo: [ :stream | PNGReadWriter formFromStream: stream binary ]


2. Why is binaryReadStreamDo: not equivalent to:
f := FileSystem memory workingDirectory / 'pharoicon.png'.
f writeStreamDo: [ :stream |
PNGReadWriter
putForm: ThemeIcons current pharoIcon
onStream: stream ].
f *readStreamDo:* [ :stream | PNGReadWriter formFromStream: stream *binary*]

Cheers,
Doru


On Sun, Feb 2, 2014 at 11:23 PM, Sven Van Caekenberghe <s...@stfx.eu> wrote:

>
> On 02 Feb 2014, at 22:13, Tudor Girba <tu...@tudorgirba.com> wrote:
>
> > Thanks! That worked.
> >
> > What is the difference?
>
> It's a complicated story ;-)
>
>
> https://pharo.fogbugz.com/f/cases/12259/FileSystem-memory-reads-writes-using-a-binary-stream-by-default
>
> > Doru
> >
> >
> >
> >
> > On Sun, Feb 2, 2014 at 9:19 PM, Sven Van Caekenberghe <s...@stfx.eu>
> wrote:
> > Doru,
> >
> > I think you will need the new #binaryReadStream or #binaryReadStreamDo:
> >
> > Sven
> >
> > On 02 Feb 2014, at 20:15, Tudor Girba <tu...@tudorgirba.com> wrote:
> >
> > > Hi,
> > >
> > > I have troubles creating a PNG file in memory.
> > >
> > > I can create a PNG file on disk and load it back without problems:
> > > f := FileSystem disk workingDirectory / 'pharoicon.png'.
> > > f writeStreamDo: [ :stream |
> > >       PNGReadWriter
> > >               putForm: ThemeIcons current pharoIcon
> > >               onStream: stream ].
> > > f readStreamDo: [ :stream | PNGReadWriter formFromStream: stream
> binary ]
> > >
> > > But, when I try the same thing in memory, I get an exception for
> incorrect format:
> > > f := FileSystem memory workingDirectory / 'pharoicon.png'.
> > > f writeStreamDo: [ :stream |
> > >       PNGReadWriter
> > >               putForm: ThemeIcons current pharoIcon
> > >               onStream: stream ].
> > > f readStreamDo: [ :stream | PNGReadWriter formFromStream: stream
> binary ]
> > >
> > > Can anyone point me to what am I doing wrong?
> > >
> > > Doru
> > >
> > >
> > > --
> > > www.tudorgirba.com
> > >
> > > "Every thing has its own flow"
> >
> >
> >
> >
> >
> > --
> > www.tudorgirba.com
> >
> > "Every thing has its own flow"
>
>
>


-- 
www.tudorgirba.com

"Every thing has its own flow"

Reply via email to