`
mathsfan
  • 浏览: 579167 次
  • 性别: Icon_minigender_1
  • 来自: 浙江省杭州市
社区版块
存档分类
最新评论

rubyzip的使用(原)

阅读更多
大家可以它的官方网站http://rubyforge.org/projects/rubyzip/去下载,目前最新的版本是0.9.1,下面我们来看两个例子:
require 'zip/zip'

  Zip::ZipFile.open("test.zip", Zip::ZipFile::CREATE) {
   |zipfile|
    zipfile.get_output_stream("mathsfan.txt") { |f| f.puts "http://blog.sina.com.cn/msdn/" }
  }

这个例子比较简单,这里就不多说了,下面来看另一个:
require 'zip/zip'
require "fileutils.rb"
unzip_dir="./"

Zip::ZipFile::open("mathsfan.zip") {
|zf| zf.each { |e|
fpath = File.join(unzip_dir, e.name)
FileUtils.mkdir_p(File.dirname(fpath))
zf.extract(e, fpath) } }

这里要注意的是一定要require 'fileutils.rb'否则会出现错误:
uninitialized constant FileUtils (NameError)

这个程序表示在当前目录下解压缩mathsfan.zip压缩文件,希望对你有所帮助:)
分享到:
评论

相关推荐

    网友原创系列之Silver_Ruby主题包

    虽然具体的实现和内容需要通过下载和使用才能深入了解,但这个主题包无疑体现了Ruby社区的创新精神和对美的追求。对于那些喜欢Ruby语言的人来说,这样的主题包无疑为他们的编程生活增添了色彩和乐趣。

    Ruby 中的 BloomFilter原生计数过滤器 + Redis 计数,非计数过滤器.zip

    此实现不使用 k 个不同的哈希函数,而是使用 k 个不同的初始值(0、1、...、k-1)来播种 CRC32 哈希。这可能会或可能不会给您带来良好的分布,这完全取决于数据。布隆过滤器的性能取决于许多变量位数组的大小计数器...

    自动设置具有模糊效果的背景,您可以使用手势关闭所有模态视图_Objective-C_Ruby_下载.zip

    这个压缩包"自动设置具有模糊效果的背景,您可以使用手势关闭所有模态视图_Objective-C_Ruby_下载.zip"显然包含了一个名为"MHDismissModalView-master"的项目,该项目可能是用于实现一种特定的用户界面交互方式。...

    在背景模糊的弹出窗口中显示UIViewController_Objective-C_Ruby_下载.zip

    这个压缩包“在背景模糊的弹出窗口中显示UIViewController_Objective-C_Ruby_下载.zip”可能包含了一个Objective-C实现的库,用于在iOS应用中创建这种效果。虽然标签为空,但我们可以根据文件名“RWBlurPopover-...

    Ruby缺少的后台和批处理系统_Ruby_下载.zip

    在实际使用中,你可以通过以下步骤开始使用RocketJob: 1. 添加RocketJob到Gemfile并运行`bundle install`安装。 2. 配置数据库连接和初始化数据库迁移。 3. 创建你的作业类,继承自RocketJob::Job,并实现`perform...

    手势识别验证锁_Dart_Ruby_下载.zip

    通过分析这个项目,开发者可以了解到如何使用Dart和Ruby来实现复杂的手势识别系统,以及如何将这种技术应用于安全验证。同时,这也为想要学习这两种语言的开发者提供了一个实际的应用场景,帮助他们提升技能。

    用于显示炫酷警报对话框的Flutter插件。_Dart_Ruby_.zip

    _Dart_Ruby_.zip"的压缩包,显然是为Flutter开发者提供了一个增强型的警报对话框组件,帮助他们在应用程序中创建出更加吸引用户的交互体验。该插件可能包含Dart语言编写的源代码,因为Flutter主要使用Dart进行开发,...

    适用于iOSSDK的自定义AlertView。_Objective-C_Ruby_下载.zip

    5. Fastlane:Fastlane是一款流行的iOS部署工具,它使用Ruby编写,可以帮助开发者自动化打包、签名、发布应用等流程。 在这个资源中,"FVCustomAlertView-master"可能是项目的源码仓库,包含自定义AlertView的...

    rubyinstaller-devkit-2.6.6-1-x64.zip

    在本例中,我们关注的是`rubyinstaller-devkit-2.6.6-1-x64.zip`,这是一个针对64位Windows系统的Ruby开发工具包。 RubyInstaller-DevKit是一个配套工具,用于帮助开发者在Windows上编译和构建C语言写的Ruby扩展。...

    rubyinstaller-x64.zip

    RubyInstaller-x64.zip是一个专为Windows用户设计的压缩包,包含了用于安装Ruby解释器及其开发工具包(DevKit)的文件。RubyInstaller是Windows上安装Ruby语言的标准途径,而DevKit则是为了在Windows环境下编译和...

    Swift中的$1Unistroke手势识别器_Swift_Ruby_下载.zip

    此外,由于它是基于Ruby的$1Unistroke实现,所以它可能借鉴了原版的一些特性,如使用动态模板匹配算法,这种算法可以适应不同用户的手绘风格。 在实际应用中,手势识别可以极大地提升用户体验,比如在没有物理键盘...

    rubyinstaller-devkit-2.5-2.6-2.7三个安装包.zip

    在Windows操作系统上安装Ruby,通常需要使用RubyInstaller,这是一个包含了Ruby解释器和一些基本库的安装程序。在Windows环境下,为了能够进行编译和构建原生扩展,还需要一个名为DevKit的工具集。 标题中的...

    扩展UIWebView以支持向左平移返回手势。(如微信应用内浏览器)_Objective-C_Ruby_下载.zip

    此外,项目可能还涉及到了Ruby的相关内容,这可能是由于使用了像CocoaPods这样的依赖管理工具,它们使用Ruby编写。CocoaPods可以帮助开发者更方便地管理和集成第三方库,比如AFNetworking或SDWebImage,这些库可以与...

    Ruby dotenv 库的 Go 端口(从 .env 文件加载环境变量).zip

    去中心化环境 Ruby dotenv项目的 Go(golang)端口(从 .env 文件加载环境变量)。摘自原库将配置存储在环境中是十二要素应用的原则之一。任何可能在部署环境之间发生变化的内容(例如数据库的资源句柄或外部服务的...

    j-monkeybars.zip(使用 JRuby 和 Swing 进行跨平台开发的源代码)

    标题中的“j-monkeybars.zip”是一个压缩包文件,它包含使用JRUBY和Swing进行跨平台开发的源代码。JRUBY是Ruby编程语言的一个Java实现,它允许开发者在Java平台上利用Ruby的语法和特性。Swing是Java的一个图形用户...

    ios-iOS数据的网络请求.zip

    本教程以"ios-iOS数据的网络请求.zip"为主要内容,聚焦于iOS平台上的网络编程技术,特别是使用了知名的第三方库AFNetworking进行网络请求的实践示例。 AFNetworking是一款强大的Objective-C框架,它简化了iOS和OS X...

    aws-ruby-lambda-layer:包括普通Ruby宝石的一层

    $ zip -r layer.zip ./lib ./ruby/ -x ./ruby/2.5.0/cache/ \* $ aws lambda publish-layer-version \ --layer-name ruby-kubectl-pg \ --region us-east-1 \ --compatible-runtimes ruby2.5 \ --

    GraalVM编译的Swing的原生应用示例和源码-取色调色工具

    GraalVM是一种高性能的运行时环境,它集成了虚拟机、JVM、JavaScript引擎以及多种语言的运行时,能够支持Java、JavaScript、Ruby、Python等语言的应用程序。本示例主要关注的是GraalVM在Java领域的应用,特别是如何...

    SmartIDE-main.zip

    其次,SmartIDE支持7种开发语言,这意味着无论是Java、Python、JavaScript、Go,还是C++、C#、Ruby等常见编程语言,开发者都能在同一个平台上进行编写和调试。这种多语言支持极大地提升了开发者的效率,减少了在不同...

    python3.6.zip

    它允许开发者使用多种编程语言(如Python、Java、Ruby等)来编写测试脚本,并且兼容原生、混合和移动Web应用。Appium基于WebDriver协议,这意味着你可以利用WebDriver的语法来操控移动设备上的应用。 **Django**: ...

Global site tag (gtag.js) - Google Analytics