您的位置:首页 > 其它

使用命令行将多个xml文件压缩成zip,使用as3读取zip中的xml文件

2012-06-11 17:07 453 查看
原文http://uh.9ria.com/space-83684-do-blog-id-13696.html#

1,使用命令行将多个xml打包成zip
下载7-Zip.exe,我是从这里下的 http://www.qiannao.com/space/file/eyy88/-6211-7684-8f6f-4ef6/7-002dZip.exe/.page 将解压缩后的文件夹(这里命名为zip)放入xml文件夹
建立zip.bat文件,写入两行命令
path = %path%;zip/
7z a -tzip data.zip *.xml
保存并运行,就会在xml目录下生成data.zip文件,注意上面的-tzip,意思是生成,zip格式的,还可以生成.7z格式的,7z格式的文件大概会比zip格式文件,小30%,但是我没有找到可以解析.7z格式的as3类库,所以我用的zip

2,使用as3读取
下载as3 zip类库 我是从这里下的http://nochump.com/blog/archives/15 ,下载nochump-ziplib-105-src.zip
编写解析代码,大家注意看,byteArray 是如何变成String的。
package

{

import flash.display.Sprite;

import flash.events.Event;

import flash.net.URLLoader;

import flash.net.URLLoaderDataFormat;

import flash.net.URLRequest;

import flash.net.URLStream;

import nochump.util.zip.ZipEntry;

import nochump.util.zip.ZipFile;

import nochump.util.zip.ZipOutput;

public class TestZip extends Sprite

{

//加载器

public var urlLoader:URLLoader = new URLLoader;

public function TestZip()

{

super();

//加载zip文件

urlLoader.dataFormat = URLLoaderDataFormat.BINARY;

urlLoader.addEventListener(Event.COMPLETE,complete);

urlLoader.load(new URLRequest('nochump-ziplib-105-src.zip'));

}

public function complete(evt:Event):void{

var zip:ZipFile = new ZipFile(evt.target.data);

var entry:ZipEntry = zip.entries[4];

var s:String = String(zip.getInput(entry));//使用字节数组作为参数,传到String构造函数中生成字符串。
var xml:XML = new XML(s);

}

}

}
官方demo中使用的是UrlStream,我个人更喜欢UrlLoader。

3,今天还有一个额外的收获,UrlSteam 可以做长连接用的,研究那么长时间as3,今天才知道,惭愧啊!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: