`
edwardpro
  • 浏览: 300410 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

rubyzip 初体验

阅读更多
非常讨厌看类文档,那些东西空洞无物,但是有时候是没有办法的,比如rubyzip,因为需要在项目中使用zip包,只能看类文档了。

第一次使用这东西其实出了不少问题,下面先贴一段有问题的测试代码:

require 'zip/zipfilesystem'
Zip::ZipFile.open("E:\\moive\\c.zip") { #打开
|zf|
zf.dir.entries("").each do |ak| #get files list on root path in zip File
file = File.new("e:\\#{ak}","w+")
file.write(zf.file.open(ak).read())
file.close()
end
}
以上方法有一个问题就是如果读写的是文本文件问题不大(也不是没有问题是看不出),通过FILE泪下的open方法可以得到某个文件的文件流,利用File类可以写入,但问题恰恰出现在这里,这个方法不是真正意义的解压缩,它有个毛病会把一些控制字符转移比如它会吧OA转成 ODOA,所以当你用这个方法保存的文件文件尺寸和原来是不同的,大家一定要注意对于小文件还可以使用 read或者readline方法得到它的string对象这样更方便。

下面贴一个正确的代码:

require 'zip/zipfilesystem'
Zip::ZipFile.open("E:\\moive\\c.zip") {
|zf|
zf.dir.entries("").each do |ak|
zf.extract(ak,"e:\\#{ak}")
end
}

直接用extract方法就好了,这个应该是最简单的,如果要判断文件类别或者重命名都可以简单的在参数中自己设定,非常方便。


更多参考请看:
http://rubyzip.sourceforge.net/
我也是看了一个晚上基本看完了,现在比较困,非常困,坚持中
分享到:
评论

相关推荐

    rubyzip:官方Rubyzip存储库

    Rubyzip是用于读取和写入zip文件的ruby库。 重要的提示 Rubyzip界面已更改!!! 无需删除类名中的require "zip/zip"和Zip前缀。 如果任何需要旧版rubyzip的第三方gem出现问题,则可以使用以下解决方法: gem '...

    Ruby on Rails 初体验--北大青鸟教师专题讲座PPT

    Ruby on Rails 初体验--北大青鸟教师专题讲座PPT 想学Ruby的赶快下载看看。 Ruby--目前最快速开发工具

    ruby2ruby.zip

    ruby2ruby 提供一些用来根据 RubyParser 兼容的 Sexps 轻松生成纯 Ruby 代码的方法。可在 Ruby 中轻松实现动态语言处理。 标签:ruby2ruby

    Ruby中文文档.zip

    Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp ...

    rubyzip-开源

    rubyzip是用于读取和写入zip文件的ruby模块

    ruby-1.8.6.zip

    ruby-1.8.6.zip

    Thrift之C++初体验

    它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。

    ruby2.6.1.zip

    Ruby是一种面向对象的脚本语言,目前最新的版本是ruby2.6.1,官网国内基本很难下载,这里转存下!该版本是zip版,解压即可使用,无需安装。

    zip-zip:在 Gem 中迁移到 RubyZip v1.0.0? 在您的 Gemfile 中包含 zip-zip,一切都会好起来的!

    拉链 因此,您升级了需要 RubyZip v1.0.0 或更高版本的 gem 依赖项。 而所有其他依赖项都使用 v0.x 提供的接口。 zip-zip提供了一个简单的适配器,让您的所有依赖项都使用 RubyZip v1.0.0。 它非常简单且重量轻,将...

    windows下安装Ruby 1.9 二进制zip包

    NULL 博文链接:https://hlee.iteye.com/blog/599644

    Sass环境-Ruby2.6.5.zip

    Ruby 安装 - Windows 下面列出了在 Windows 机器上安装 Ruby 的步骤。 注意:在安装时,您可能有不同的可用版本。 Window 系统下,我们可以使用 RubyInstaller 来安装 Ruby 环境,下载地址为:请点击这里...

    innodb_ruby-master.zip

    MySQL分析 innodb

    ruby-china.zip

    Ruby China 社区官网的源码。 标签:rubychina

    ruby-2.7.1.zip

    ruby安装包,国内很难去官网下载,REDIS集群用,各位老铁 ruby安装包,国内很难去官网下载,REDIS集群用,各位老铁

    Ruby_2.6.6.zip

    需要配置一个个人博客,需要使用Jekyll语法,使用Jekyll需要安装配置Ruby环境,于是就有了这个安装包,按照安装步骤来就好了,全是默认设置。

    Ruby资源文件.zip

    Ruby资源

    stream-ruby, ruby 客户端生成活动使用 GetStream.io 提供&流.zip

    stream-ruby, ruby 客户端生成活动使用 GetStream.io 提供&流 流 ruby 是一款用于构建可以伸缩新闻发布和活动流的web服务的官方 ruby 客户端,它是流。注意,还有一个更高级的 Ruby on Rails - 流集成插件库,它将...

    具有自定义手势的ViewControllers提供更好的用户体验_Objective-C_Ruby_下载.zip

    具有自定义手势的ViewControllers提供更好的用户体验_Objective-C_Ruby_下载.zip

    Ruby-GNOME2.zip

    跟其它界面开发包不同的是,Ruby-GNOME2不仅仅提 供界面控件,它提供了整个GNOME 2.0的环境,包含Ruby/GLib2、Ruby/ATK、Ruby/Pango、Ruby/GTK2、Ruby/GnomeCanvas2、Ruby /GNOME2、Ruby/GnomeVFS、Ruby/GtkHtml2、...

    ruby-main.zip

    Ruby 学习指南

Global site tag (gtag.js) - Google Analytics