使用ActionScript 3异步读取文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ActionScript 3异步读取文件相关的知识,希望对你有一定的参考价值。

This code shows you how to load large files using as3. This is good for loading in large files. Flash Player will fire events as the data becomes available.
  1. // Imports
  2. import flash.filesystem.FileMode;
  3. import flash.filesystem.FileStream;
  4. import flash.filesystem.File;
  5. import flash.events.ProgressEvent;
  6. import flash.events.Event;
  7.  
  8. // Declare the FileStream and String variables
  9.  
  10. private var _fileStream:FileStream;
  11.  
  12. private var _fileContents:String;
  13.  
  14. private function onCreationComplete():void // Fired when the application has been created
  15.  
  16. {
  17.  
  18. var myFile:File = File.appResourceDirectory; // Create out file object and tell our File Object where to look for the file
  19.  
  20. myFile = myFile.resolve("mySampleFile.txt"); // Point it to an actual file
  21.  
  22.  
  23. _fileStream = new FileStream(); // Create our file stream
  24.  
  25. _fileStream.addEventListener(ProgressEvent.PROGRESS, onFileProgress); // Add our the progress event listener
  26.  
  27. _fileStream.addEventListener(Event.COMPLETE, onFileComplete); // Add our the complete event listener
  28.  
  29. _fileStream.openAsync(myFile, FileMode.READ); // Call the openAsync() method instead of open()
  30.  
  31. }
  32. private function onFileProgress(p_evt:ProgressEvent):void // Event handler for the PROGRESS Event
  33. {
  34. _fileContents += _fileStream.readMultiByte(_fileStream.bytesAvailable, "iso-8859-1"); // Read the contens of the file and add to the contents variable
  35.  
  36. fileContents_txt.text = _fileContents; // Display the contents. I've created a TextArea on the stage for display
  37. }
  38.  
  39. private function onFileComplete(p_evt:Event):void // Event handler for the COMPLETE event
  40.  
  41. {
  42. _fileStream.close(); // Clean up and close the file stream
  43. }

以上是关于使用ActionScript 3异步读取文件的主要内容,如果未能解决你的问题,请参考以下文章

ActionScript 3 使用AS3读取不同的文件类型

Actionscript 3,只能读取文件的一部分而不将整个文件加载到内存中

将actionscript 3中的xml文件中的值读取到组合框中

使用 actionscript 3 自动刷新 swf 电影

如何使用 actionscript 3 将 ascii 文件加载到数组中

将 ActionScript 2 SWF 转换为 ActionScript 3 SWF 文件(可以剥离代码)