Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
RubyZipFIleSystem - help with simple task
Nathan Loyer
7/25/2008 3:58:00 PM
I am new to Ruby, but am doing my best. I have a zip file that I'm
trying to open, go to directory "word" and read one of the files out.
Here is what I have so far:
require 'rubygems'
require 'zip/zipfilesystem'
Zip::ZipFile.open("Evelyn Attwood.docx.zip") {
|zipfile|
zipfile.dir.open("word")
puts zipfile.file.read("document.xml")
}
Simple, but I get an error:
ruby docxreader.rb
/Library/Ruby/Gems/1.8/gems/rubyzip-0.9.1/lib/zip/zipfilesystem.rb:371:in
`stat': No such file or directory - word (Errno::ENOENT)
from
/Library/Ruby/Gems/1.8/gems/rubyzip-0.9.1/lib/zip/zipfilesystem.rb:463:in
`foreach'
from
/Library/Ruby/Gems/1.8/gems/rubyzip-0.9.1/lib/zip/zipfilesystem.rb:458:in
`entries'
from
/Library/Ruby/Gems/1.8/gems/rubyzip-0.9.1/lib/zip/zipfilesystem.rb:430:in
`new'
from
/Library/Ruby/Gems/1.8/gems/rubyzip-0.9.1/lib/zip/zipfilesystem.rb:434:in
`open'
from docxreader.rb:6
from /Library/Ruby/Gems/1.8/gems/rubyzip-0.9.1/lib/zip/zip.rb:1382:in
`open'
from docxreader.rb:4
But there is certainly such a file. What am I doing wrong?
Much thanks,
Nathan
--
Posted via
http://www.ruby-...
.
3 Answers
Maciej Tomaka
7/25/2008 4:33:00 PM
0
Probably this archive does not contain the folder.
Please try out:
require 'rubygems'
require 'zip/zipfilesystem'
Zip::ZipFile.open("Evelyn Attwood.docx.zip") do |zipfile|
puts zipfile.file.read('word/document.xml')
end
--
Posted via
http://www.ruby-...
.
Nathan Loyer
7/25/2008 4:39:00 PM
0
Maciej Tomaka wrote:
> Probably this archive does not contain the folder.
> Please try out:
>
> require 'rubygems'
> require 'zip/zipfilesystem'
>
> Zip::ZipFile.open("Evelyn Attwood.docx.zip") do |zipfile|
> puts zipfile.file.read('word/document.xml')
> end
That works! Thank you. Can you explain why though? When I unzip the
archive, I see the folder. Is there a difference between a "directory"
and a folder in a zip file?
--
Posted via
http://www.ruby-...
.
Maciej Tomaka
8/7/2008 11:49:00 AM
0
Nathan Loyer wrote:
> Maciej Tomaka wrote:
>> Probably this archive does not contain the folder.
>> Please try out:
>>
>> require 'rubygems'
>> require 'zip/zipfilesystem'
>>
>> Zip::ZipFile.open("Evelyn Attwood.docx.zip") do |zipfile|
>> puts zipfile.file.read('word/document.xml')
>> end
>
> That works! Thank you. Can you explain why though? When I unzip the
> archive, I see the folder. Is there a difference between a "directory"
> and a folder in a zip file?
There is no folder/directory difference - it is the same thing. But you
may have it included in file or not.
Example:
$ zip document.zip document/sample.xml
adding: document/sample.xml (stored 0%)
$ unzip -l document.zip
Archive: document.zip
Length Date Time Name
-------- ---- ---- ----
0 08-07-08 13:39 document/
0 08-07-08 13:39 document/sample.xml
-------- -------
0 2 files
But if you create it using file-roller you don't have directory
included:
$ unzip -l document.zip
Archive: document.zip
Length Date Time Name
-------- ---- ---- ----
0 08-07-08 13:39 document/sample.xml
-------- -------
0 1 file
Thats all. :)
Best Regards
Maciej
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
RubyZipFIleSystem - help with simple task
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password