int类型是32 bits,byte类型是8 bits
所以用4个byte类型就可以存储1个int类型
转换的形式可以有很多,可以用位移的方法
public char readChar() {
byte data[] = readN(2);
if (data != null) {
char ch = 0;
ch |= ((data[0] + 256) & 0xff) << 8;
ch |= ((data[1] + 256) & 0xff);
return ch;
}
return 0;
}
public int writeInt(int i) {
byte data[] = new byte[4];
if (data != null) {
for(int j = 0; j < 4; j++)
data[j] = (byte) ( (i >> (24-8*j)) & 0xff);
return writeN(data, 0, data.length);
}
return -1;
}
public int readInt() {
byte data[] = readN(4);
if (data != null) {
int result = 0;
result |= ((data[0] + 256) & 0xff) << 24;
result |= ((data[1] + 256) & 0xff) << 16;
result |= ((data[2] + 256) & 0xff) << 8;
result |= ((data[3] + 256) & 0xff);
return result;
}
return 0;
}