Tag: 字节序

Java:有效地将long数组转换为字节数组

我有longs我要写入磁盘的longs 。 最有效的磁盘I / O函数采用字节数组,例如: FileOutputStream.write(byte[] b, int offset, int length) …所以我想首先将long[]转换为byte[] (每个long 8个字节)。 我很难找到一个干净的方法来做到这一点。 似乎不允许直接类型转换: ConversionTest.java:6: inconvertible types found : long[] required: byte[] byte[] byteArray = (byte[]) longArray; ^ 通过迭代数组很容易进行转换,例如: ByteBuffer bytes = ByteBuffer.allocate(longArray.length * (Long.SIZE/8)); for( long l: longArray ) { bytes.putLong( l ); } byte[] byteArray = bytes.array(); …然而,这似乎远不如简单地将long []视为一系列字节。 有趣的是,在读取文件时,使用Buffers很容易从byte[] “转换”为long: […]