Hi Marcus,

regarding 2) In Pharo 3.0 one can already open a file browser on the 
memory file system:

    |fs|
    fs := FileSystem memory.
    (fs / 'hello.txt') writeStreamDo: [:s| s nextPutAll: 'Exported data' ].
    FileList openOn: fs root

but it looks like it needs some love. One can create new files but most
functionality will not work. Should we create an issue?

Thx
T.

> Gesendet: Donnerstag, 12. Dezember 2013 um 12:44 Uhr
> Von: "Marcus Denker" <marcus.den...@inria.fr>
> An: "Pharo Development List" <pharo-dev@lists.pharo.org>
> Cc: "Any question about pharo is welcome" <pharo-us...@lists.pharo.org>
> Betreff: Re: [Pharo-dev] [Pharo Trick: #0008] - If appropriate use the memory 
> file system
>
> Related to that:
> 
> For Pharo4 I want to experiment to have the following:
> 
> 1) one Memory FileSystem per RPackage (just an ivar there).
> 2) File Browser support to show all these so one can put files in the package 
> filesystem
> 3) in Monticello, save all the files as part of the .zip (directory 
> “resources”)
> 4) When loading with MC, load all files from the resources dir into the 
> package filesystem
> 
> (at first the file support will be very simple, e.g. no support for diffs).
> 
> ==> then store e.g. all the icons there instead of a MIME-Encode string.
> 
>       Marcus
> 
> On 12 Dec 2013, at 12:39, Torsten Bergmann <asta...@gmx.de> wrote:
> 
> > -----------------------------------------------------------------------------------
> > [Pharo Trick: #0008] - If appropriate use the memory file system 
> > -----------------------------------------------------------------------------------
> > Works in: Pharo 2.0, 3.0, ...
> > -----------------------------------------------------------------------------------
> > 
> > It may be possible that your application has to export some
> > data into an external file in a specific format. Pharo allows writing into
> > a file using Streams as any other Smalltalk.
> > 
> > But sometimes you want to check the result right from the Pharo image 
> > without having to look into the external file using external tools.
> > 
> > So the trick here is to use the memory file system instead 
> > of the real disk file system during development since also no 
> > cleanup on the hard disk is required afterwards:
> > 
> > |fs|
> > fs := FileSystem memory.
> > (fs / 'hello.txt') writeStreamDo: [:s| s nextPutAll: 'Exported data' ].
> > (fs / 'hello.txt') readStream contents.
> > 
> > The memory filesystem is also nice if you need to work with files
> > within a unit test. So when the test runs nothing remains left on the 
> > hard disk.
> > 
> > If you need a real copy of the file on the hard disk you can also copy 
> > from the memory file system to the disk file system using #copyTo:
> > 
> > |fs|
> > fs := FileSystem memory.
> > (fs / 'hello.txt') writeStreamDo: [:s| s nextPutAll: 'Memory first and then 
> > disk' ].
> > (fs / 'hello.txt') copyTo: (FileSystem disk / 'exactCopy.txt')
> > 
> > 
> 
> 
>

Reply via email to