我需要在Android设备上分配(大)给定大小的文件。在fat32存储上创建大文件很慢
在大多数设备上进行如下操作并不花时间。
RandomAccessFile fileStream = new RandomAccessFile("test.txt", "rw");
fileStream.seek(FILE_SIZE - 1);
fileStream.write(0);
不幸的是两个设备上使用该FAT32其储存的操作似乎很慢(90-100secs。为2GB的文件)。
我也尝试使用java.nio,但我得到了相同的结果。
FileOutputStream fos = new FileOutputStream(f);
FileChannel fc = fos.getChannel();
fc.position(FILE_SIZE - 1);
fc.write(ByteBuffer.wrap(new byte[]{0}));
fos.close();
任何想法如何加快这两个设备上的操作?
我在指责文件系统,因为这两个“慢”设备具有共同点而其他设备都没有。 – lou