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