我正在尝试使用MappedByteBuffer来存储映射文件,为不同大小的位图设置交换文件。我希望能够在这个文件中移动内存,所以可能有两个子问题:
答案 0 :(得分:0)
好的,我找到了一种方法,通过使用MappedByteBuffer映射的文件通道来传输内存。
RandomAccessFile raFile = new RandomAccessFile(MyFile, "rw");
FileChannel fileChannel = raFile.getChannel();
fileChannel.position(srcPosition);
fileChannel.transferFrom(fileChannel, dstPosition, count);
这比从MappedByteBuffer中读取int并将其写入复制指向同一文件中的另一个位置快约200倍(准确地说:读取1/100数据时速度快两倍)。 / p>