Hi,

Do I use the ZIP file system correctly? I do the following: 

-=-=-=-
zipFile := FileLocator temp / 'file.zip'.
zipFileSystem := (FileSystem zip: zipFile) open.
(zipFileSystem root / 'dir1') createDirectory.
(zipFileSystem root / 'dir1' / 'file.txt') 
        writeStreamDo: [ :stream | stream << 'Hello World!' ].
zipFileSystem close.
zipFile contents.
-=-=-=-

And zipFileSystem close produces an error.
 
UndefinedObject(Object)>>doesNotUnderstand: #uncompressedSize
ZipFileSystemFile>>readFromMember
ZipFileSystemFile>>bytes
ZipFileSystemFile(MemoryFileSystemFile)>>readStream
MemoryHandle>>readStream
FileSystem>>readStreamOn:
FileReference>>readStream
FileReference(AbstractFileReference)>>readStreamDo:
[ :each | 
each isFile
        ifTrue: [ each
                        readStreamDo:
                                [ :output | archive addString: output contents 
as: each path printString ] ] ] in ZipStore>>close in Block: [ :each | ...
Array(SequenceableCollection)>>do:
ZipStore>>close
FileSystem>>close
UndefinedObject>>DoIt
OpalCompiler>>evaluate
RubSmalltalkEditor>>evaluate:andDo:
RubSmalltalkEditor>>highlightEvaluateAndDo:
[ textMorph textArea editor highlightEvaluateAndDo: ann action.
textMorph shoutStyler style: textMorph text ] in [ textMorph textArea
        handleEdit: [ textMorph textArea editor highlightEvaluateAndDo: ann 
action.
                textMorph shoutStyler style: textMorph text ] ] in 
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
 in Block: [ textMorph textArea editor highlightEvaluateAndDo...etc...
RubEditingArea(RubAbstractTextArea)>>handleEdit:
[ textMorph textArea
        handleEdit: [ textMorph textArea editor highlightEvaluateAndDo: ann 
action.
                textMorph shoutStyler style: textMorph text ] ] in 
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
 in Block: [ textMorph textArea...
WorldState>>runStepMethodsIn:
WorldMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
WorldMorph class>>doOneCycle
[ [ WorldMorph doOneCycle.
Processor yield.
false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess in Block: [ [ 
WorldMorph doOneCycle....
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self 
value....

Thanks for any advice. 
Juraj

Reply via email to