如题

解决方案 »

  1.   

    试试吧 static boolean putPrimitiveType2ByteArray(byte[] b, int start, int n) {
    if (b.length - start >= 4) {
    b[start + 0] = (byte) ((n >>> 24) & 0xFF);
    b[start + 1] = (byte) ((n >>> 16) & 0xFF);
    b[start + 2] = (byte) ((n >>> 8) & 0xFF);
    b[start + 3] = (byte) ((n >>> 0) & 0xFF);
    return true;
    } else {
    return false;
    }
    } static boolean putPrimitiveType2ByteArray(byte[] b, int start, long n) {
    if (b.length - start >= 8) {
    putPrimitiveType2ByteArray(b, 0, (int) ((n >>> 32) & 0xFFFFFFFF));
    putPrimitiveType2ByteArray(b, 4, (int) ((n >>> 0) & 0xFFFFFFFF));
    return true;
    } else {
    return false;
    }
    }
      

  2.   


    java.nio.ByteBuffer
    http://download.oracle.com/javase/6/docs/api/java/nio/ByteBuffer.html
      

  3.   

    可以先转化成string 然后string.getBytes();放到byte数组中,如果想其他操作 可以通过String转化
      

  4.   

    Buffer是好东西byte[] b = new byte[4];
    ByteBuffer bf = ByteBuffer.wrap(b).order(ByteOrder.LITTLE_ENDIAN);
    bf.putInt(0, 4315431);
    System.out.println(Arrays.toString(b));输出[39, -39, 65, 0]
    需要注意的是Buffer默认的是Big Endian的,如果要用Little Endian方式储存的话,需要调用order方法