ByteArrayInputStream bais = new ByteArrayInputStream(buf);
DataInputStream dis = new DataInputStream(bais);
int a = dis.readInt();

解决方案 »

  1.   

    int BytesToInt(byte[] b){
       return (b[0]<<24)|(b[1]<<16)|(b[2]<<8)|byte[3];
    }
    肯定比用流快
      

  2.   

    看看流实现得源码吧:
    InputStream in = this.in;
    int ch1 = in.read();
    int ch2 = in.read();
    int ch3 = in.read();
    int ch4 = in.read();
    if ((ch1 | ch2 | ch3 | ch4) < 0)
         throw new EOFException();
    return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0));
    }
    一样,何必去构造一个流呢?
    对于floatfloat BytesToFloat(byte[] b){
       return Float.intBitsToFloat(BytesToInt(b));
    }