From: Belorion Date: 2007-11-29T08:00:03+09:00 Subject: Re: seek() in GzipReader ------=_Part_6520_14507174.1196290805312 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I realize, now, that there is probably no "meaningful" way to seek through a compressed file. It would require starting at the beginning of the file, and counting the bytes as it was uncompressed until the seek point was reached ... which rather defeats one of the major benefits of seeking in the first place (to quickly navigate a file). I could see, perhaps, a mechanism for leaving position bookmarks as one uses the file, that can then be used later to faster seeking... Anyway, sorry for the spam! Matt On 11/28/07, Belorion wrote: > > Looking at RubyDoc for GzipReader ( > http://ruby-doc.org/core/classes/Zlib/GzipReader.html) I notice that there > is no seek() method available, as with IO.seek() or IO.pos=. > > Does anyone have any ideas on how to do a traditional seek through a > gzip'ed file using GzipReader? > > I notice that there is GzipReader.lineno=(), but, as per this discussion > from about 2 years ago (http://www.ruby-forum.com/topic/5603), the purpose > of lineno=() eludes me (since it doesn't actually modify the position for > the next read operation). > > I should clarify that the files being read are quite large (as in several > gigabytes), and so loading up the entire file into an Array in memory is not > an option for me. > > regards, > Matt > ------=_Part_6520_14507174.1196290805312--