seek() in GzipReader

B

Belorion

Note: parts of this message were removed by the gateway to make it a legal Usenet post.

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
 
B

Belorion

Note: parts of this message were removed by the gateway to make it a legal Usenet post.

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,999
Messages
2,570,243
Members
46,835
Latest member
lila30

Latest Threads

Top