| AI教程 | Flash教程 | Fireworks教程 | Painter教程 | CDR教程 | CAD教程 | 3Dmax教程 | Maya教程 | 摄影技巧 | 广告文案 | LOGO案例 | PS教程

Flash读取zip格式文件

  ZipArchive是一个Zip档案处理类,可读写各种zip格式文件。

  基本介绍:

  1)轻松创建或加载一个zip档案;

  2)多种方式读取和删除zip档案中的文件;

  3)支持中文文件名;

  4)非常容易序列化一个zip档案,如有AIR、PHP等的支持就可以把生成的zip档案保存在本地或服务器上。

  编辑注:flash读取zip,很好很强大...网页上焦点图轮播,从zip里读,不知道加载是不是快一点...有时间试一试.

  读取zip文件可查看下载包中的example示例。保存zip文件部分可参考我以前发布的AirZip功能演示。

  下面是下载包中的example示例的部分代码:

1. public class Example extends Sprite {
2. private var zip1:ZipArchive = new ZipArchive();
3. public function Example() {
4. //加载一个zip档案
5. zip1.load("test.zip");
6. zip1.addEventListener(ProgressEvent.PROGRESS, loading);
7. zip1.addEventListener(ZipEvent.ZIP_INIT, inited);
8. zip1.addEventListener(ZipEvent.ZIP_FAILED, failed);
9. zip1.addEventListener(IOErrorEvent.IO_ERROR, ioError);
10. }
11. private function inited(evt:ZipEvent):void {
12. zip1.removeEventListener(ProgressEvent.PROGRESS, loading);
13. zip1.removeEventListener(ZipEvent.ZIP_INIT, inited);
14. zip1.removeEventListener(ZipEvent.ZIP_FAILED, failed);
15. //添加ZIP_CONTENT_LOADED事件侦听器
16. zip1.addEventListener(ZipEvent.ZIP_CONTENT_LOADED, imgloaded);
17. trace("原始zip文件内容", zip1);
18. //读取zip1中的xml文件
19. var xmlFile:ZipFile = zip1.getFileByName("sample.xml");
20. var xml:XML = new XML(xmlFile.data);
21. trace(xml);
22. //根据字符串内容创建一个新的txt文件
23. var txtContent:String = "这是一个测试文本文件";
24. zip1.addFileFromString("测试.txt", txtContent);
25. //trace(zip1.getFileByName("测试.txt").data);
26. //复制zip1中的girl.jpg为张曼玉.jpg
27. var zmy:ZipFile = zip1.getFileByName("girl.jpg");
28. zip1.addFileFromBytes("张曼玉.jpg", zmy.data);
29. //加载zip1中的新生成的图片文件的Bitmap对象
30. zip1.getBitmapByName("张曼玉.jpg");
31. //删除图片文件.gif
32. zip1.removeFileByName("Logo.gif");
33. trace("修改后的zip文件内容", zip1);
34. }
35. private function imgloaded(evt:ZipEvent):void {
36. zip1.removeEventListener(ZipEvent.ZIP_CONTENT_LOADED, imgloaded);
37. var img:Bitmap = evt.content as Bitmap;
38. addChild(img);
39. }
40. private function loading(evt:ProgressEvent):void {
41. //trace(evt.currentTarget, evt.bytesLoaded, evt.bytesTotal);
42. }
43. private function failed(evt:ZipEvent):void {
44. //trace(evt.content);
45. }
46. private function ioError(evt:IOErrorEvent):void {
47. //trace(evt);
48. }
49. }

主题测试文章,只做测试使用。发布者:绘画吧,转转请注明出处:http://www.huitu8.com/shejijiaocheng/Flashjiaocheng/20191022/118689.html



联系我们

在线咨询:点击这里给我发消息

邮件: