0

わかった 。私はかなり有能ですが、まだ学んでいます。これは、AIR で作成しているプログラム用です。基本的に、特定のフォルダーから混合タイプとコンテンツのファイルを取得して圧縮する必要があります。

ここに私がまとめたコードがあり、それは一種の機能です。私が抱えている問題は、zip 内のすべてのファイルに 0 バイトが含まれていることです。効果的に空。私は何を見逃した、または間違ったことをしましたか?

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 スクリプトを作成していません。

4

1 に答える 1

0

File.dataへの呼び出し後にのみ読み込まれFile.loadます。

バイトの同期ロードについては、 を参照してFileStreamください。 これらのドキュメントは要約を提供します。

于 2012-06-09T01:53:03.163 に答える