| Refresh | Home EGTry.com

download and consume binary data with a sequence of primitive data type of java or actionscript


package {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.net.URLLoader;
	import flash.net.URLLoaderDataFormat;
	import flash.net.URLRequest;
	import flash.utils.ByteArray;

	public class ReceiveBinary extends Sprite
	{
		public function ReceiveBinary()
		{
			trace("receive binary data");	
			var request:URLRequest=new URLRequest("JavaOut.dat");
			var loader:URLLoader=new URLLoader();
			loader.dataFormat=URLLoaderDataFormat.BINARY;
			loader.addEventListener(Event.COMPLETE, onComplete);
			loader.addEventListener(IOErrorEvent.IO_ERROR, onError);
			
			loader.load(request);
			
			
		}
		
		private function onComplete(event:Event):void {
			var loader:URLLoader=URLLoader(event.target);
			var dataObject:Object=loader.data;
			var bytes:ByteArray= dataObject as ByteArray;
			
			var boolVal:Boolean=bytes.readBoolean();
			trace("boolVal: "+boolVal);
			
			var byteVal:int=bytes.readByte();
			trace("byteVal: "+byteVal);
			
			var shortVal:int=bytes.readShort();
			trace("shortVal: "+shortVal);
			
			var intVal:int=bytes.readInt();
			trace("intVal: "+intVal);
			
			var floatVal:Number=bytes.readFloat();
			trace("floatVal: "+floatVal);
			
			var doubleVal:Number=bytes.readDouble();
			trace("doubleVal: "+doubleVal);
			
			var string1:String=bytes.readUTF();
			trace("string1: "+string1);
			
			var string2:String=bytes.readUTF();
			trace("string2: "+string2);
			

		}
		
		private function onError(event:Event):void {
			trace("Error in loading: "+event);
		}
	}
}