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);
}
}