1package org.antlr.runtime { 2 import flash.filesystem.File; 3 import flash.filesystem.FileMode; 4 import flash.filesystem.FileStream; 5 import flash.system.System; 6 7 public class ANTLRFileStream extends ANTLRStringStream { 8 protected var _file:File; 9 10 public function ANTLRFileStream(file:File, encoding:String = null) { 11 load(file, encoding); 12 } 13 14 public function load(file:File, encoding:String = null):void { 15 _file = file; 16 if (encoding == null) { 17 encoding = File.systemCharset; 18 } 19 20 var stream:FileStream = new FileStream(); 21 22 try { 23 stream.open(file, FileMode.READ); 24 data = stream.readMultiByte(file.size, encoding); 25 n = data.length; 26 } 27 finally { 28 stream.close(); 29 } 30 } 31 32 public override function get sourceName():String { 33 return _file.name; 34 } 35 } 36}