如何制作一个前八个字节作为当前时间戳的字节数组?
How to make a byte array with first eight bytes as current timestamp?
我正在制作一个具有预定义大小的字节数组,如下所示:
private byte[] newPayload() {
byte[] payload = new byte[100];
Arrays.fill(payload, (byte) 1);
return payload;
}
现在我想在它前面的同一个字节数组中添加8个字节的当前时间戳。
long time = System.currentTimeMillis();
所以前八个字节将是当前时间戳,其余 92 个字节将与我现在正在做的相同。
您可以使用 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);
我正在制作一个具有预定义大小的字节数组,如下所示:
private byte[] newPayload() {
byte[] payload = new byte[100];
Arrays.fill(payload, (byte) 1);
return payload;
}
现在我想在它前面的同一个字节数组中添加8个字节的当前时间戳。
long time = System.currentTimeMillis();
所以前八个字节将是当前时间戳,其余 92 个字节将与我现在正在做的相同。
您可以使用 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);