2012-06-08 60 views
0

OK。我很有能力,但仍然在學習。 這是我在AIR中編寫的程序。 Basicaly我需要從給定的文件夾中抓取混合類型和內容的文件,並將它們壓縮。用Air as3閃存壓縮多個文件

這裏是我已經把代碼和它的排序工作。 我遇到的問題是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腳本。

+0

我認爲這是值得做的,我如何試圖做到這一點。由此,我的意思是說我試圖讓它自動化。 該鏈接的closesed我已經找到了,但是它依賴於用戶選擇的項目和位置,以及ZIP文件的名稱.... === http://pradeek.blogspot.co.uk/搜索/標籤/ nochump === 我試圖monize它是自動的,但那是當問題開始時。 任何人都可以提出一個想法如何請。 – Tempus

回答

0

File.dataFile.load通話後才填充。

的字節同步加載,看FileStreamThese docs給予破敗。

+0

我似乎無法得到它。我已經看過所有的gumpf,不能看到它。不知道這是因爲我試圖調用這些文件的方式,還是因爲我錯過了某些東西。我仍然無法得到任何「數據」進來。我可以讀取其他所有內容.....還會得到奇怪的「陣列-V-文件」衝突? – Tempus

相關問題