From: celldee Date: 2008-03-11T01:46:21+09:00 Subject: Re: Getting files out of a .tar.gz archive Hi Todd, I've tried to use Zlib::GzipReader, but that just gives me a continuous stream of text or a series of strings that do not resemble the actual file structure, unless I've missed something. Thanks, Chris http://smuby.org On Mar 10, 3:19 pm, "Todd Benson" wrote: > On Mon, Mar 10, 2008 at 9:09 AM, celldee wrote: > > Hi, > > >  I have a .tar.gz file containing some xml files. I need to locate > >  particular files in the archive and process them. I'm looking for a > >  pure Ruby way to do this without resorting to external system > >  commands. > > >  I found Archive::Tar::Minitar that allows me to process my files once > >  I have expanded the .tar.gz file to a .tar file. So I can do this :- > > >  open(@tarfile, "rb") do |f| > >   Archive::Tar::Minitar::Reader.open(f).each do |entry| > >     fpl = StringIO.new( entry.read) if entry.name =~ / > >  #{@date}#{channel}_pl/ > >     fpi = StringIO.new( entry.read) if entry.name =~ / > >  #{@date}#{channel}_pi/ > >   end > >  end > > >  However, in order to get a tar file, I have to call gunzip to expand > >  my .tar.gz file. Does anybody know of a way for me to replace the > >  gunzip call with a Ruby library call of some sort? Or does anyone have > >  suggestions for an alternative way to do this? > > >  Cheers, > > >  Chris > > There's Zlib::Gzip* classes.  I've never used them, though. > > Todd