使用Air as3 flash压缩许多文件

时间:2012-06-08 22:07:40

标签: actionscript-3 flash air zip zipfile

好的。我有足够的能力,但仍在学习。 这是我在AIR写的程序。 Basicaly我需要从给定的文件夹中获取混合类型和内容的文件并压缩它们。

这是我放在一起的代码,它有点工作。 我遇到的问题是zip中的文件都包含零字节。 Efectivly空。 我错过了什么或做错了什么?

import flash.filesystem.File;
import flash.events.Event;
import deng.fzip.*;

var directory:File = File.desktopDirectory.resolvePath("FOLDER/");

var zip:FZip = new FZip(); 
var files:Array = directory.getDirectoryListing();
for(var i:uint = 0; i < files.length; i++)
{
    zip.addFile(files[i].name, files[i].data);
    trace(files[i].name);
}

var ba:ByteArray = new ByteArray(); 
zip.serialize(ba); 
ba.position = 0; 
var finalZIP:File = File.desktopDirectory.resolvePath("TEST.zip"); 
var fs:FileStream = new FileStream(); 
fs.open(finalZIP, FileMode.WRITE); 
fs.writeBytes(ba); 
fs.close();

EDIT =: 在运行代码时,我在错误面板中注意到了这一点。

  ....app\scripts_classes\deng\fzip\FZipFile.as, Line 362   Warning: 1106: Empty statement found where block of code expected. Did you type ';'     accidentally?

从我能看到的内容似乎很好,但后来我没有编写Fzip脚本。

1 个答案:

答案 0 :(得分:0)

File.data仅在调用File.load后才会填充。

对于字节的同步加载,请查看FileStreamThese docs给出了一个纲要。