以前公開していた、ZIP圧縮・解凍ライブラリですが、airxmailと同様にGoogle Codeに移動して公開することにしました。
こちらです。

これに伴い、ライブラリ名をairxzipに変更し、パッケージ名も変更しました。

まだまだ準備不足ですが・・・・

また、これ以外にパスワード付きZIPファイルにも一部対応しました。
ただし、ZipCrypto(PKWare crypto)形式の暗号化のみです。
こちらで説明されている、VII. Traditional PKWARE Encryptio という形式のみです。

この形式はWindowsXPなどで使われている暗号形式ですので、まあ、ふつうの人が一般的に目にするレベルでは使えるようになったと思います。

パスワード付きZIPファイルの使い方は以下のようになります。

作成(圧縮)方法

[AS]
var writer:ZipFileWriter = new ZipFileWriter();
// パスワードの指定
// パスワードの指定がなければ、通常のZIPファイルが作成されます。
writer.setPassword(“pass”);
writer.open(File.desktopDirectory.resolvePath(“crypto_airxzip.zip”));

// Add ByteArrayとして追加する場合
// ファイル名は”sample.txt”とする。
var data:ByteArray = new ByteArray();
data.writeUTFBytes(“SAMPLE”);
writer.addBytes(data,”sample.txt”);

// Add Directory
// 空のディレクトリを追加する
writer.addDirectory(“Foo1”);

// ローカルにあるファイルを指定する場合
writer.addFile(File.desktopDirectory.resolvePath(“image.jpg”),”Foo1/image.jpg”);

// close()を忘れずに!!
writer.close();
[/AS]

解凍方法

[AS]
var reader:ZipFileReader = new ZipFileReader();
var file:File = File.desktopDirectory.resolvePath(“crypto_airxzip.zip”);
reader.open(file);
reader.setPassword(“pass”);
var list:Array = reader.getEntries();

for each(var entry:ZipEntry in list){
if(!entry.isDirectory()){
if(entry.getFilename() == “sample.txt”){
try{
var bytes:ByteArray = reader.unzip(entry);
log.debug(“sample.txt : ” + bytes);
}
catch(e:ZipError){
log.warn(entry.getFilename() + “:” + e.message);
}
}
}
}
[/AS]

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

3 Responses to “air:Airxzip AIR版ZIP圧縮・解凍ライブラリをGoogle Codeに移動しました。”

  • shingo より:

    Flex勉強中のど素人です。
    FlexやAirでファイルをzip化できないかを探してたら辿り着き参考にさせていただいてます。
    ファイルの圧縮はできるのですが、フォルダの圧縮はどのように処理すればよいのでしょうか?
    サンプルソースが公開されてると助かります 
    ご教授お願いします。

  • coltware より:

    ありがとうございます。
    私も、ほんの1年前まではど素人でした。といっても、今でもプロとしてやっているわけではないので、素人ですが・・・・

    さて、フォルダの圧縮ですが、純粋にフォルダの圧縮という機能は持っていません。
    申し訳ございません。

    writer.addFile(File.desktopDirectory.resolvePath(“image.jpg”),”Foo1/image.jpg”);

    で、実際のファイルのパスと、登録したいファイル名を
    圧縮するフォルダにあるファイルをたどっていき、登録していくことになります。

    これでフォルダを圧縮していきます。

    実際にはFile.getDirectoryListing()などを使ってフォルダの下のファイルを見ていくことになると思います。
    http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/filesystem/File.html#getDirectoryListing()

    また、現在あるサンプルは
    http://code.google.com/p/airxzip/source/browse/#svn/trunk/samples/src/scripts
    がすべてです。

    よろしくお願いします。

  • shingo より:

    返事ありがとうございます。

    早速、上記の事を参考にさせて頂いたところ
    なんとかうまくいきそうな気がしてきました。

    ありがとうございました。
    また、勉強させて頂きます。

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2010年1月
« 12月   2月 »
 123
45678910
11121314151617
18192021222324
25262728293031

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ