Egret之JSZip基础

简介:

首先要整第三方库 , 在上一篇中已经有所介绍 , 这里不讲。

关于 jszip和AS的aszip差不多一样。

这里我写了三个文件 : a.txt , b.xml , c.json 打包到一个 ziptest.zip的压缩包中。

a.txt:

wKioL1nU1o6jXiUZAAA5ArNnjNM536.png-wh_50

b.xml:

wKiom1nU11ywh2KqAABQAeDTGqg852.png-wh_50

c.json:

wKiom1nU176iZ7BtAAAswE6QSJk453.png-wh_50


ziptest.zip的位置:

wKioL1nU1-KDJOhPAABOsiqzFtg514.png-wh_50


核心代码 :::

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   private loadZip() : void{
    RES.getResByUrl( "resource/ziptest.zip" function (data):void{
           let zipj : JSZip =  new  JSZip(data);
     this .analysisJSZip( zipj );
    }, this , RES.ResourceItem.TYPE_BIN);
   }
   private analysisJSZip( zipj : JSZip ) : void{
    //a.txt解析
    let txtstr : JSZipObject = zipj.file( "ziptest/a.txt" );
    console.log( 'Txt content is '  + txtstr.asText());
    //b.xml解析
    let xmlstr : JSZipObject = zipj.file( "ziptest/b.xml" );
    let xmlConfig : egret.XML = egret.XML.parse(xmlstr.asText());
    console.log( "the xml root name is : "  + xmlConfig.name);
    let xmlChileren : Array<egret.XMLNode> = xmlConfig.children;
    let xmlChildrenLen : number = xmlChileren.length;
    let xmlCell : egret.XML =  null ;
    for ( let i : number = 0 ; i < xmlChildrenLen ; i ++ ){
     xmlCell = <egret.XML><any>xmlChileren[i];
     if ( xmlCell.name ==  "role"  ){
      let xmlName : egret.XML = <egret.XML><any>xmlCell.children[0]; //获得<name str="Aonaufly"/>
      console.log( "xml role name is : "  + xmlName[ "$str" ]);
      break ;
     }
    }
    //c.json解析
    let jsonstr : JSZipObject = zipj.file( "ziptest/c.json" );
    let jsonc : any = JSON.parse( jsonstr.asText() );
    console.log( "json name is : "  + jsonc.name);
   }

关于 zipj.file("ziptest/a.txt");

wKiom1nU2M_wP7_mAAChqqkUzx8596.png-wh_50


结果:

wKioL1nU2LzBn1Z3AAA9prDS8HY712.png-wh_50

















本文转自Aonaufly51CTO博客,原文链接: http://blog.51cto.com/aonaufly/1970395,如需转载请自行联系原作者



相关文章
|
前端开发 JavaScript Java
JAVAEE框架技术之4springMVC入门
JAVAEE框架技术之4springMVC入门
203 0
JAVAEE框架技术之4springMVC入门
|
Web App开发 缓存 前端开发
Web版Photoshop来了,用到了哪些前端技术?
Web版Photoshop来了,用到了哪些前端技术?
258 0
|
8月前
|
运维 Java 程序员
Java中的异常处理方法
本文深入剖析Java异常处理机制,介绍可检查异常、运行时异常和错误的区别与处理方式。通过最佳实践方法,如使用合适的异常类型、声明精确异常、try-with-resources语句块、记录异常信息等,帮助开发者提高代码的可靠性、可读性和可维护性。良好的异常处理能保证程序稳定运行,避免资源泄漏和潜在问题。
263 5
|
11月前
|
Ubuntu Shell 开发工具
Ubuntu下安装配置和调优 Oh-my-fish
Oh-my-fish 是一个强大的工具,可以大大增强 Fish Shell 的功能和美观度。通过安装和配置 Oh-my-fish,可以极大地提升命令行的使用体验。同时,通过适当的调优,可以优化 Oh-my-fish 的性能,使其在保持丰富功能的同时,仍然能够快速启动并高效运行。希望本文提供的详细步骤和示例代码能帮助您在 Ubuntu 系统中顺利安装、配置和调优 Oh-my-fish。
706 7
|
数据采集 监控 Java
go语言编程学习
【11月更文挑战第3天】
215 7
|
数据采集 小程序 前端开发
IoT小程序在展示中央空调采集数据和实时运行状态上的应用
IoT小程序框架在跨系统平台(AliOS Things、Ubuntu、Linux、MacOS、Window等)方面提供了非常优秀的基础能力,应用的更新升级提供了多种方式,在实际业务开发过程中可以灵活选择。IoT小程序框架通过JSAPI提供了调用系统底层应用的能力,同时提供了自定义JSAPI扩展封装的方法,这样就足够业务开发通过自定义的方式满足特殊的业务需求。 IoT小程序在前端框架能力、应用框架能力、图形框架能力都进行了适配和优化。那么接下来,我们按照其官方步骤搭建开发环境,然后结合中央空调数据采集和状态显示的实际应用场景开发物联网小程序应用。
24303 63
IoT小程序在展示中央空调采集数据和实时运行状态上的应用
|
JavaScript 算法
Nodejs 第十九章(pngquant)
Nodejs 第十九章(pngquant)
267 0
|
关系型数据库 分布式数据库 PolarDB
沉浸式学习PostgreSQL|PolarDB 15: 企业ERP软件、网站、分析型业务场景、营销场景人群圈选, 任意字段组合条件数据筛选
本篇文章目标学习如何快速在任意字段组合条件输入搜索到满足条件的数据.
794 0
|
存储 缓存 网络协议
QT应用编程: 基于UDP协议设计的大文件传输软件
QT应用编程: 基于UDP协议设计的大文件传输软件
1271 0
QT应用编程: 基于UDP协议设计的大文件传输软件
|
SQL 存储 弹性计算
基于云原生数据库 PolarDB for PostgreSQL 分布式开源项目实现序列号生成和性能调优赛题解析 | 学习笔记
快速学习基于云原生数据库 PolarDB for PostgreSQL 分布式开源项目实现序列号生成和性能调优赛题解析
基于云原生数据库 PolarDB for PostgreSQL 分布式开源项目实现序列号生成和性能调优赛题解析 | 学习笔记