| Refresh | Home EGTry.com

actionscript primitive data binary format is same as java primitive data binary format


write primitive data type to stream in actionscript and in java

data type methods in ByteArray and FileStream(air) methods in DataOutputStream in java
boolean writeBoolean(val:Boolean) writeBoolean(boolean val)
byte writeByte(val:Byte) writeByte(byte val)
short writeShort(val:int) writeByte(short val)
int writeInt(val:int) writeByte(int val)
float writeFloat(val:Number) writeFloat(float val)
double writeDouble(val:Number) writeDouble(double val)
string writeUTF(val:String) writeUTF(String val)

read primitive data type from stream in actionscript and in java

data type methods in ByteArray and FileStream(air) methods in DataInputStream in java
boolean var val:Boolean=readBoolean() boolean val=readBoolean()
byte var val:Byte=readByte() byte val=readByte()
short var val:int=readShort() short val=readByte()
int var val:int=readInt() int val=writeByte()
float var val:Number=readFloat() float val=readFloat()
double var val:Number=readDouble() double val=readDouble()
string var str1:String=readUTF() String str1=readUTF()

write actionscript primitive data type for java, read java primitive data as actionscript primitive

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"  layout="absolute" width="343" height="198">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import p1.Rect;
			import mx.utils.ObjectUtil;
			
			private function onWrite():void {
				
				
				var f:File=new File("C:\\tmp\\ActionscriptOut.dat");
				var out:FileStream=new FileStream();
				out.open(f,FileMode.WRITE);
				out.writeBoolean(true);
				out.writeByte(10);
				out.writeShort(100);
				out.writeInt(1000);
				out.writeFloat(10000.123456789);
				out.writeDouble(100000.123456789);
				
				out.writeUTF("Hello");
				out.writeUTF("World");
				
				out.close();
				
			}
			
			public function readAll():void {
				var f:File=new File("C:\\tmp\\JavaOut.dat");
				var fin:FileStream=new FileStream();
				fin.open(f,FileMode.READ)
				
				var boolVal:Boolean=fin.readBoolean();
				trace("boolean: "+boolVal);
				
				var byteVal:int=fin.readByte();
				trace("byte: "+byteVal);
				
				var shortVal:int=fin.readShort();
				trace("short: "+shortVal);
				
				var intVal:int=fin.readInt();
				trace("int: "+intVal);
				
				var floatVal:Number=fin.readFloat();
				trace("float: "+floatVal);
				
				var doubleVal:Number=fin.readDouble();
				trace("double: "+doubleVal);
				
				var stringVal:String=fin.readUTF();
				trace("string: "+stringVal);
				
				var string2Val:String=fin.readUTF();
				trace("string2: "+string2Val);
				
				fin.close();
			}
			

		]]>
	</mx:Script>
	<mx:Button label="Write" click="onWrite()"  x="21" y="41"/>
	<mx:Button x="116" y="41" label="Read" click="readAll()"/>
</mx:WindowedApplication>

write java primitive data type for actionscript to consume, v.s. read actionscript primitive data in java

package io;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class JavaPrimitiveData {


	public static void main(String[] args) throws Exception{
		
		writeData("/tmp/JavaOut.dat");
		readData("/tmp/ActionscriptOut.dat");
	}
	
	public static void writeData(String filename) throws Exception {
		DataOutputStream out=new DataOutputStream(new FileOutputStream(filename));
		out.writeBoolean(true);
		out.writeByte(10);
		out.writeShort(100);
		out.writeInt(1000);
		out.writeFloat(10000.123456789F);
		out.writeDouble(100000.123456789);
		out.writeUTF("Hello");
		out.writeUTF("World");
		out.close();
	}
	
	public static void readData(String filename) throws Exception {
		DataInputStream in=new DataInputStream(new FileInputStream(filename));
		boolean b=in.readBoolean();
		trace("boolean: "+b);
		
		byte byteVal=in.readByte();
		trace("byte: "+byteVal);
		
		short shortVal=in.readShort();
		trace("short: "+shortVal);
		
		int intVal=in.readInt();
		trace("int: "+intVal);
		
		float floatVal=in.readFloat();
		trace("float: "+floatVal);
		
		double doubleVal=in.readDouble();
		trace("double: "+doubleVal);
		
		String string1=in.readUTF();
		trace("string: "+string1);
		
		String string2=in.readUTF();
		trace("string: "+string2);
		in.close();
	}
	
	public static void trace(String msg) {
		System.out.println(msg);
	}

}


see /flex/data/postbinary for post data primitve data binary from flex application. An example that how a servlet can save raw post data.

see /flex/data/receive_binary for receiving binary data that could be created by java program