AIRでzipファイルの圧縮と展開(解凍)できるライブラリを公開します。

ダウンロード

使い方

読み込み方法

import com.coltware.commons.zip.ZipEntry;
import com.coltware.commons.zip.ZipEvent;
import com.coltware.commons.zip.ZipFileReader;

private function unzip(file:File):void{
  var zipReader:ZipFileReader = new ZipFileReader();
  zipReader.open(file);   <-  Fileオブジェクトを設定してください
  var entries:Array = zipReader.getEntries();
  for(var i:int = 0; i<entries.length; i++){
     var entry:ZipEntry = entries[i] as ZipEntry;
     var filename:String = entry.getFilename();
     var bytes:ByteArray = zipReader.unzip(entry);
     //  ここで、ByteArrayのデータをファイル等に書き出してください。
     //  getFilename() は、文字コードを自動的にSJISもしくはUTF-8を判別します。
     //  MACの濁点も解決します。
     //  ただし、展開処理で bytearray.uncompress(...) を使っているだけなので、なぜか解凍が失敗するものもあります。
}

ってのがおおよその、展開方法です。

zipReader.addEventListener(ZipEvent.ZIP_DATA_UNCOMPRESS,uncompressData);
zipReader.unzipAsync(entry);

とすれば、非同期で展開が行われます。

private function uncompressData(e:ZipEvent):void{
	var entry:ZipEntry = e.entry;
	var file:File = dir.resolvePath(entry.getFilename());
	var fs:FileStream = new FileStream();
	fs.open(file,FileMode.WRITE);
	fs.writeBytes(e.data);
	fs.close();
}

のようにしてZipEntryとdata(ByteArray)で操作が行えます。

次回は、書き込みの方法も紹介します。
いま、ソースにコメントを書き込み中・・・・

asdocもできたらドキュメントともにソースも公開したいと思います。

関連記事

Leave a Reply

Spam protection by WP Captcha-Free

ソフトウェア&ライブラリ



ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
カレンダー
2009年7月
« 6月   8月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

カスタム検索
RSS
Add to Google
にほんブログ村 IT技術ブログへ