Raj*_*der 6 flash actionscript actionscript-3 zipfile
我有一个本地文件夹中的zip和rar文件列表.
我需要做的就是提取zip文件的内容以及rar文件,并将它们保存在与相应存档文件同名的文件夹中.
由于我是as3的新手,我对此毫无头绪.
这个有没有图书馆?
提前致谢...
dji*_*.co 10
要解压缩zip文件,可以使用AS3Commons Zip(以前称为FZip).它的工作原理没有上一个答案中提到的Adler32校验和要求.
这是一个如何提取zip存档中所有文件的示例.当URLLoader对象下载了zip文件并调度了一个Event.COMPLETE事件时,将调用以下函数:
import org.as3commons.zip.Zip;
import org.as3commons.zip.ZipFile;
private function _onZipDownloaded(e:Event):void {
var ba:ByteArray = ByteArray(e.target.data);
var zip:Zip = new Zip();
zip.loadBytes(ba);
for(var i:uint = 0; i < zip.getFileCount(); i++) {
var zipFile:ZipFile = zip.getFileAt(i);
var extracted:File = directory.resolvePath(zipFile.filename);
var fs:FileStream = new FileStream();
fs.open(extracted, FileMode.WRITE);
fs.writeBytes(zipFile.content);
fs.close();
}
}
Run Code Online (Sandbox Code Playgroud)
显然,错误检查应该添加到上面的代码中,但你明白了......
有一些库可以处理as3中的ZIP文件,但请注意,对于ActionScript 3中的初学者来说,这不是一件容易的事.
FZip似乎是使用最广泛的,但它要求ZIP存档具有Adler32校验和.随库提供的是一个Python脚本,它将校验和注入到ZIP文件中,以便在解压缩之前对文件进行预处理.
JZlib的As3端口,一个与Fzip一起使用的as3库,而不是上面提到的Python脚本.
AS3 Zip Library(作者声称比FZip慢)避免了Addler32校验和问题.
在Adobe Air上,您可以在adobe网站上查看本文中的详细说明和工作示例.
希望这可以帮助!