Nebula3学习笔记(6): IO实战, ZIP解压缩程序

上一次熟悉了IO系统后, 写个程序来练练手.

正好这次看到App命名空间, 正好熟悉一下ConsoleApplication的用法. 因为Nebula3内置了ZipFileSystem, 但不支持压缩, 只支持解压缩, 就试着写了一个命令行的unzip.exe, 算是对之前所学的一个总结.

没想解压缩就像拷贝文件一样简单! 因为当zip文件挂载到IO系统后, 可以像本地文件一样使用其中的文件, 呵呵.

1: 9: 10: #include 11: #include 12: 13: using namespace Util 14: 15: 18: 19: argc argv 20: 21: CmdLineArgs argsargc argv 22: UnZipApp app 23: appSetCompanyName 24: appSetAppName 25: appSetCmdLineArgsargs 26: appOpen 27: 28: appRun 29: appClose 30: 31: system 32: appExit 33:

1: 9: #pragma once 10: #include 11: #include 12: 13: UnZipApp AppConsoleApplication 14: 15: 16: UnZipApp 17: 18: bool Open 20: Run 22: 23: 24: UnZipDirUtilString dir 26: 27: UtilString zipFileName 28: UtilString sourcePath 29: UtilString targetPath 30:

1: 9: #include 10: 11: 12: UnZipAppUnZipApp 13: 14: 15: 16: bool UnZipAppOpen 17: 18: ConsoleApplicationOpen 19: 20: argsHasArg 22: 23: n_printf 24: n_printf 25: false 26: 27: 28: UtilString zipFile 29: zipFile argsGetString 30: sourcePath UtilString zipFile 32: bool fileValid ioServerMountZipArchivesourcePath 33: fileValid 34: 35: sourcePath UtilString zipFile 37: fileValid ioServerMountZipArchivesourcePath 38: fileValid 39: 40: n_error 41: false 42: 43: 44: zipFileName zipFileExtractFileName 45: zipFileNameStripFileExtension 46: sourcePath sourcePathExtractDirName 47: 48: targetPath argsGetString 50: targetPathLength targetPath 51: targetPath UtilString targetPath 53: 54: 55: targetPath UtilString targetPath 57: 58: targetPath 59: sourcePath targetPath 60: 61: n_printf 62: false 63: 64: true 65: 66: false 67: 68: 69: UnZipAppRun 70: 71: UnZipDirzipFileName 72: 73: 74: UnZipAppUnZipDir UtilString dir 75: 76: ioServerCreateDirectorytargetPath dir 78: UtilArrayUtilString listFile ioServerListFilessourcePath dir 80: IndexT i i listFileSize i 81: 82: UtilString curFile targetPath dir listFilei 83: ioServerCopyFilesourcePath dir listFilei curFile 84: n_printf curFileAsCharPtr 85: 86: UtilArrayUtilString listDir ioServerListDirectoriessourcePath dir 88: IndexT i i listDirSize i 89: 90: UtilString curDir dir listDiri 91: n_printf targetPath curDirAsCharPtr 92: UnZipDircurDir 93: 94:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一“技”之长

iOS事件响应控制 原

    以前遇到一个项目,一个UIImageView对象上面有一个UIButton对象,然而项目的需求需要在点击 button的同时,UIImageView也接...

8940
来自专栏非典型技术宅

iOS四大对象之UIApplication对象1. 获取2. 创建联网指示器3. 设置app右上角小图标的数字4. 打电话、发短信、上网5. 判断系统版本

14150
来自专栏一“技”之长

从AFNetworking源码分析到应用全解 原

    AFNetworking是iOS/OS开发中常用的一个第三方网络库,可以说它是目前最流行的网络库,但其代码结构其实并不复杂,也可以说非常简洁优美。在AF...

68230
来自专栏谈补锅

UIApplication

1、UIApplication对象是应用程序的象征,每一个应用都有自己的UIApplication对象,而且是单列的

13030
来自专栏進无尽的文章

基础篇-应用之间的跳转

在应用A跳转到应用B,则给A、B自身自定义URL Schemes(自定义的协议头)后,通过在A中处理B的URL Schemes,就可以在A中启动B了。

16810
来自专栏陈满iOS

iOS开发·第三方网络下载处理框架:AFNetworking网络下载处理(官方文档翻译篇)

它服从<NSURLSessionTaskDelegate>,<NSURLSessionDataDelegate>,<NSURLSessionDownloadDe...

21930
来自专栏DannyHoo的专栏

POST上传各种数据类型(包括图片)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

70320
来自专栏iOS开发随笔

Unity项目嵌入现有iOS项目的方法

31570
来自专栏一“技”之长

iOS第三方文件压缩框架——Godzippa 原

    Godzippa是iOS开发中常用的一个第三方数据压缩框架,其采用类别的方式,为NSData类与NSFileManager类提供了压缩和解压缩数据的方法...

8010
来自专栏QQ音乐技术团队的专栏

React-Native 分包实践

对于很多在使用react-native开发应用的小伙伴们肯定都会遇到一个问题,功能越来越复杂,生成的jsbundle文件越来越大,无论是打包在app内发布还是走...

1.5K60

扫码关注云+社区

领取腾讯云代金券