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;
      // 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

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