Wednesday, February 6, 2013

Manipulasi File di Memory Dengan Metode File Mapping (Java)

File Mapping memungkinkan program untuk mengakses konten file secara langsung dari memori, kelebihan metode ini yaitu lebih cepat dibandingkan menggunakan metoda IO standar untuk manipulasi file, serta dukungan kecepatan akses untuk file dengan ukuran yang besar.


Berikut ini, contoh penggunaan File Mapping menggunakan Java:

import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
public class FileMap {
private static int count = 1010241024; //Asumsi ukuran file 10 MB
public static void main(String[] args) throws Exception {
RandomAccessFile memoryMappedFile = new RandomAccessFile("FileBesar.txt", "rw");
//Mapping file ke RAM
MappedByteBuffer out = memoryMappedFile.getChannel().map(FileChannel.MapMode.READ_WRITE, 0, count);
//Tulis kedalam file
for (int i = 0; i < count; i++) {
out.put((byte) 'A');
}
System.out.println("Menulis file telah selesai");
//Membaca file
for (int i = 0; i < 10 ; i++) {
System.out.print((char) out.get(i));
}
System.out.println("Membaca file telah selesai");
}
}
view raw FileMap.java hosted with ❤ by GitHub

No comments:

Post a Comment