如何将前八个字节的字节数组作为当前时间戳?

时间:2016-11-01 18:24:32

标签: java arrays byte bytebuffer

我正在制作一个预定义大小的字节数组,如下所示:

private byte[] newPayload() {
  byte[] payload = new byte[100];
  Arrays.fill(payload, (byte) 1);
  return payload;
}

现在我想在它前面的同一个字节数组中添加8个字节的当前时间戳。

long time = System.currentTimeMillis();

所以前八个字节将是当前时间戳,剩下的92个字节将与我现在正在做的相同。

1 个答案:

答案 0 :(得分:2)

您可以使用ByteBuffer将long转换为byte[]。您也可以使用System.arraycopy将此byte[]复制到邮件阵列。请参考以下代码。

ByteBuffer buffer = ByteBuffer.allocate(Long.SIZE / Byte.SIZE);
buffer.putLong(time);
byte[] timeBytes = buffer.array();
System.arraycopy(timeBytes, 0, payload, 0, timeBytes.length);