Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不使用java.nio的情况下将字节数组转换为long?_Java_Networking_Bytearray_Long Integer_Checksum - Fatal编程技术网

如何在不使用java.nio的情况下将字节数组转换为long?

如何在不使用java.nio的情况下将字节数组转换为long?,java,networking,bytearray,long-integer,checksum,Java,Networking,Bytearray,Long Integer,Checksum,我正在实施一个可靠的数据传输协议。我需要将长值校验和传递给接收器。我不允许使用java.nio 我知道如何将long转换为字节数组,如下所示: ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeLong(someLong); dos.close(); byte[] longBytes = baos.toByteA

我正在实施一个可靠的数据传输协议。我需要将长值校验和传递给接收器。我不允许使用java.nio

我知道如何将long转换为字节数组,如下所示:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeLong(someLong);
dos.close();
byte[] longBytes = baos.toByteArray();
但是如何在不使用java.nio的情况下将字节数组转换为long呢

你可以这样做

    ByteArrayInputStream bais = new ByteArrayInputStream(longBytes);
    DataInputStream dis = new DataInputStream(bais);
    someLong = dis.readLong();

展示你的工作,这样我们就可以通过将一个长字节转换为8个字节并返回来理解sameStart,然后对整个数组进行转换将很容易。我主要关心的是如何将字节数组转换为long。@uohzxela如果不知道另一个转换是如何完成的,你就不能这样做。@uohzxela是保证长度的字节数组。是的,它的大小应该是8。