如何从java中的字节数组中检索最后32位?

时间:2014-07-11 06:28:29

标签: java byte

嗨我正在努力从字节数组中检索最后32位/ 4字节。请有人帮助我。

示例:

byte[] b = scientificDatas;//1024bits

我想从'b'中检索最后32位。我试过班次操作员。它不能正常工作。 请有人帮助我。

3 个答案:

答案 0 :(得分:7)

您可以复制原始数组的范围:

    byte[] result = Arrays.copyOfRange(b, b.length - 4, b.length);

答案 1 :(得分:1)

使用DataInputStream:

DataInputStream din = new DataInputStream(new ByteArrayInputStream(scientificDatas));
din.seek(1024/8-4);
int integer = din.readInt();

答案 2 :(得分:1)

如果您知道该数组将包含1024位(128字节),那么对于正确索引数组一样简单:

byte[] last4bytes = new byte[4]{b[124], b[125], b[126], b[127]};

如果您不知道数组的长度,请使用length字段:

 byte[] last4bytes = new byte[4]{b[b.length-4], b[b.length-3], b[b.length-2], b[b.length-1]};