在Java中有没有一种方法可以将一个大的整数数组写入磁盘?我正在Android上进行此操作,并且没有找到与本地C代码相近的方法。生成的文件不需要在具有不同表示的不同机器之间可移植,因此逻辑上只需要对基础字节进行批量写入即可。但是我不知道如何从Java有效地实现它。我尝试过搜索网络,并测试了以下内容:序列化-非常慢,正如预期的那样。使用NIO-仍然很慢- Android跟踪显示每个整数一次操作:提前感谢。NIO代码:
int[] array = new array[10000000];
...
raf = new RandomAccessFile(ti.testFileName, "rw");
chan = raf.getChannel();
MappedByteBuffer out = chan.map(FileChannel.MapMode.READ_WRITE, 0, array.length*4);
ib = out.asIntBuffer();
ib.put(array);
out.force();
raf.close();