Java 如何使用前八个字节作为当前时间戳创建字节数组?
我正在制作一个预定义大小的字节数组,如下所示:Java 如何使用前八个字节作为当前时间戳创建字节数组?,java,arrays,byte,bytebuffer,Java,Arrays,Byte,Bytebuffer,我正在制作一个预定义大小的字节数组,如下所示: private byte[] newPayload() { byte[] payload = new byte[100]; Arrays.fill(payload, (byte) 1); return payload; } 现在我想在前面的同一个字节数组中添加8个字节的当前时间戳 long time = System.currentTimeMillis(); 因此,前8个字节将是当前时间戳,其余92个字节将与我现在所做的相同。您可以
private byte[] newPayload() {
byte[] payload = new byte[100];
Arrays.fill(payload, (byte) 1);
return payload;
}
现在我想在前面的同一个字节数组中添加8个字节的当前时间戳
long time = System.currentTimeMillis();
因此,前8个字节将是当前时间戳,其余92个字节将与我现在所做的相同。您可以使用ByteBuffer将
long
转换为字节[]
。您还可以使用System.arraycopy
将此字节[]
复制到邮件数组中。请参考下面的代码
ByteBuffer buffer = ByteBuffer.allocate(Long.SIZE / Byte.SIZE);
buffer.putLong(time);
byte[] timeBytes = buffer.array();
System.arraycopy(timeBytes, 0, payload, 0, timeBytes.length);
看起来,我找不到长类的字节?我只看到大小?您可以尝试(
Long.size/Byte.size
)也可以说,如果我有这个新的字节数组,现在如何从有效负载字节数组中提取前8个字节并将其转换为Long并打印出来?希望这会有所帮助。。是的,但如何仅从字节数组中提取前八个字节?