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:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"); | |
} | |
} | |
No comments:
Post a Comment