public class Test1 {
public static void main(String[] args) throws IOException {
int id= 101;
int age= 21;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byteArrayOutputStream.write(int2byte(id));
byteArrayOutputStream.write(int2byte(age));
byte[] byteArray = byteArrayOutputStream.toByteArray();
System.out.println(Arrays.toString(byteArray));
System.out.println("==================================");
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArray);
byte[] idbytes = new byte[4];
byteArrayInputStream.read(idbytes);
System.out.println("id:"+byte2int(idbytes));
byte[] agebytes = new byte[4];
byteArrayInputStream.read(agebytes);
System.out.println("age:"+byte2int(agebytes));
}
/**
* @param i
* @return bytes
* @category 大端字节序列(先写高位,在写低位)=====小端字节序列(先写低位,在写高位)
*/
public static byte[] int2byte(int i){
byte[] bytes=new byte[4];
bytes[0]=(byte)(i>>3*8);
bytes[1]=(byte)(i>>2*8);
bytes[2]=(byte)(i>>1*8);
bytes[3]=(byte)(i>>0*8);
return bytes;
}
/**
* @param b
*/
public static int byte2int(byte[] b){
return b[0]<<3*8|
b[1]<<2*8|
b[2]<<1*8|
b[3]<<0*8;
}
}
public class Test2 {
public static void main(String[] args) {
int id= 101;
int age= 21;
ByteBuffer byteBuffer = ByteBuffer.allocate(8);
byteBuffer.putInt(id);
byteBuffer.putInt(age);
byte[] array = byteBuffer.array();
System.out.println(Arrays.toString(array));
ByteBuffer byteBuffer2 = ByteBuffer.wrap(array);
System.out.println("id"+byteBuffer2.getInt());
System.out.println("age"+byteBuffer2.getInt());
System.out.println();
}
}
public class Test3 {
public static void main(String[] args) {
ChannelBuffer dynamicBuffer = ChannelBuffers.dynamicBuffer();
dynamicBuffer.writeInt(101);
dynamicBuffer.writeDouble(80.1);
byte[] bytes = new byte[dynamicBuffer.writerIndex()];
dynamicBuffer.readBytes(bytes);
System.out.println(Arrays.toString(bytes));
ChannelBuffer wrappedBuffer = ChannelBuffers.wrappedBuffer(bytes);
System.out.println(wrappedBuffer.readInt());
System.out.println(wrappedBuffer.readDouble());
}
}
public class Test4 {
public static void main(String[] args) {
Player player = new Player();
player.setAge(20);
player.setPlayId(100);
player.getSkills().add(1);
byte[] bytes = player.getBytes();
System.out.println(Arrays.toString(bytes));
Player player2 = new Player();
player2.readFromBytes(bytes);
System.out.println(player2);
}
}