I mean, fileRef basename is myZip.zip and workingDirectory is the place files will go after being unziped but how does we find the file named fileRef basename ?
2016-04-19 15:46 GMT+02:00 stepharo <[email protected]>: > > > Le 19/4/16 15:41, Valentin Ryckewaert a écrit : > > How does unzip:to: access to the file ? > > I do not get your question? > > It must be in the workingDirectory? > > > Read the code luke.... > > > unzip: fullFileName to: pathString > "Unzip the contents of the file specified by the full path name > fullFileName to the location given by pathString." > > | zipped buffer unzipped newName | > newName := fullFileName copyUpToLast: FileSystem disk > extensionDelimiter. > pathString asFileReference ensureCreateDirectory. > unzipped := FileStream newFileNamed: (pathString asFileReference / > newName) fullName. > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > > unzipped ifNil: [self error: pathString, ' looks incorrect']. > [ unzipped binary. > zipped := self on: (FileStream readOnlyFileNamed: fullFileName). > buffer := ByteArray new: 50000. > [zipped atEnd] whileFalse: [unzipped nextPutAll: (zipped nextInto: > buffer)]] > ensure: [ > zipped close. > unzipped close]. > ^ newName > > > > > > 2016-04-19 15:06 GMT+02:00 Hernán Morales Durand < > <[email protected]>[email protected]>: > >> I use it a lot to uncompress external resources like this: >> >> fileRef := .... >> GZipReadStream unzip: fileRef basename to: FileSystem workingDirectory. >> >> but it could be used to pass a directory as String I guess. >> Comment should be corrected. >> >> >> 2016-04-19 9:54 GMT-03:00 stepharo < <[email protected]>[email protected]>: >> >>> unzip: fullFileName to: pathString >>> "Unzip the contents of the file specified by the full path name >>> fullFileName to the location given by pathString." >>> >>> so we would expect to pass a string in the second argument? >>> >>> the unique sender of it in the system >>> >>> unzip: fullFileName >>> "Unzip the contents of a gzipped file specified by its full file >>> name to the current working directory" >>> >>> ^ self unzip: fullFileName to: FileSystem disk workingDirectory >>> >>> >>> but the implementation seems to indicate that fullFileName is should be >>> a string as well as pathString >>> >>> unzip: fullFileName to: pathString >>> "Unzip the contents of the file specified by the full path name >>> fullFileName to the location given by pathString." >>> >>> | zipped buffer unzipped newName | >>> newName := fullFileName copyUpToLast: FileSystem disk >>> extensionDelimiter. >>> pathString asFileReference ensureCreateDirectory. >>> unzipped := FileStream newFileNamed: (pathString asFileReference / >>> newName) fullName. >>> unzipped ifNil: [self error: pathString, ' looks incorrect']. >>> [ unzipped binary. >>> zipped := self on: (FileStream readOnlyFileNamed: fullFileName). >>> buffer := ByteArray new: 50000. >>> [zipped atEnd] whileFalse: [unzipped nextPutAll: (zipped nextInto: >>> buffer)]] >>> ensure: [ >>> zipped close. >>> unzipped close]. >>> ^ newName >>> >>> Am I correct to think that the comments are not really good enough? >>> >>> Stef >>> >>> >>> >>> >> > >
