public static void Int2Bytes(byte[] inPut, int off, int len, long value) {
        for (int i = 0; i < len; i++) {
            long lTemp = value << (i * 8);
            lTemp = lTemp >> ((len - 1) * 8);
            Long lTempInteger = new Long(lTemp);
            inPut[len - 1 - i + off] = lTempInteger.byteValue();
        }
    }
public static long Bytes2Int(byte[] input, int off, int len) {
        long lRet = 0;
        for (int i = 0; i < len; i++) {
            lRet = lRet << 8;
            int nTemp = input[len - 1 - i + off]; // 低字节在前
            if (nTemp < 0) nTemp += 256;
            lRet |= nTemp;
        }
        return lRet;
    }

解决方案 »

  1.   

    String.valueOf( int ).getBytes()
      

  2.   

    多谢各位
    试试看
    还有一个问题就是在一个bufferedInputStream开始中加入一个int 就是各我上面的问题,并在后面接上一个文件的bytes[ ],通过网络传输后,通过bufferedInputStream把它们各自取出来,这个能不能实现,能的话,又怎么才能实现呢?
    请各位高手指教啦,谢谢
      

  3.   

    先转化成String再转化成byte[].
      

  4.   

    建议用inputstream,outputstream
    先用我上面提到的把文件大小转换成byte[]发送出去,紧接用fileinputstream.read(byte[])读取文件,用outputstream.wreit(byte[])传出去;
    在接收方收回来,然后用inputstream.read(byte[])读取回相应大小的流就可以了