Return to Snippet

Revision: 3214
at June 19, 2007 05:35 by mswallace


Initial Code
// Imports
      import flash.filesystem.FileMode;
      import flash.filesystem.FileStream;
      import flash.filesystem.File;
      import flash.events.ProgressEvent;
      import flash.events.Event;
       
      // Declare the FileStream and String variables

      private var _fileStream:FileStream;
 
      private var _fileContents:String;
       
      private function onCreationComplete():void // Fired when the application has been created

      {

      var myFile:File = File.appResourceDirectory; // Create out file object and tell our File Object where to look for the file

      myFile = myFile.resolve("mySampleFile.txt"); // Point it to an actual file


      _fileStream = new FileStream(); // Create our file stream

      _fileStream.addEventListener(ProgressEvent.PROGRESS, onFileProgress); // Add our the progress event listener

      _fileStream.addEventListener(Event.COMPLETE, onFileComplete); // Add our the complete event listener
       
      _fileStream.openAsync(myFile, FileMode.READ); // Call the openAsync() method instead of open()

      }
      private function onFileProgress(p_evt:ProgressEvent):void // Event handler for the PROGRESS Event
      {
      _fileContents += _fileStream.readMultiByte(_fileStream.bytesAvailable, "iso-8859-1"); // Read the contens of the file and add to the contents variable
       
      fileContents_txt.text = _fileContents; // Display the contents. I've created a TextArea on the stage for display
      }
       
      private function onFileComplete(p_evt:Event):void // Event handler for the COMPLETE event

      {
      _fileStream.close(); // Clean up and close the file stream
      }

Initial URL
http://office.realeyesmedia.com/blogs/john/index.php/2007/05/31/reading-a-file-asynchronously-with-actionscript-3/

Initial Description
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.

Initial Title
Reading a file Asynchronously with ActionScript 3

Initial Tags
files, 3

Initial Language
ActionScript 3