热门IT资讯网

Egret之JSZip基础

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,首先要整第三方库 , 在上一篇中已经有所介绍 , 这里不讲。关于 jszip和AS的aszip差不多一样。这里我写了三个文件 : a.txt , b.xml , c.json 打包到一个 ziptes

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

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

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

a.txt:

b.xml:

c.json:


ziptest.zip的位置:


核心代码 :::

  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 = xmlConfig.children;   let xmlChildrenLen : number = xmlChileren.length;   let xmlCell : egret.XML = null;   for( let i : number = 0 ; i < xmlChildrenLen ; i ++ ){    xmlCell = xmlChileren[i];    if( xmlCell.name == "role" ){     let xmlName : egret.XML = xmlCell.children[0];//获得     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");


结果:


遍历Zip中的文件名

const $zip : JSZip = new JSZip( xmlData );const $files : object =   $zip["files"];for(var key in $files){    console.log(key);        //键名 }


0