4 Aralık 2019 Çarşamba

MappedByteBuffer Sınıfı- NIO

Giriş
Şu satırı dahil ederiz.
import java.nio.MappedByteBuffer;
Buffer sınıfından kalıtır. Dosyanın tamamını belleğe alır.

constructor
İkinci parametre offset, üçüncü parametre size'dır.
Örnek
Şöyle yaparız.
FileChannel fc = ...;
MappedByteBuffer mbb = fc.map(MapMode.READ_ONLY, 0, 4l);
Örnek
Şöyle yaparız.
RandomAccessFile raFile;
MappedByteBuffer mbb = raFile.getChannel().map(FileChannel.MapMode.READ_WRITE, 0, 256);
Örnek
Şöyle yaparız.
Path name = Paths.get("delete.me");
try(FileChannel fc1 = FileChannel.open(name,READ,WRITE,CREATE_NEW,DELETE_ON_CLOSE);
  FileChannel fc2 = FileChannel.open(name,READ,WRITE)) {
  MappedByteBuffer mapped = fc1.map(FileChannel.MapMode.READ_WRITE, 0, 4096);
  ...
});
asIntBuffer metodu
Şöyle yaparız
IntBuffer integers = mbb.asIntBuffer();
clear metodu
Şöyle yaparız.
mbb.clear();
force metodu
Açıklaması şöyle.
MappedByteBuffer has a force() method that will force a write of a section of the buffer to its backing store.
get metodu
Şöyle yaparız.
byte[] b = new byte[5];
mapped.position(4000);
mapped.get(b);
getInt metodu
Şöyle yaparız
int prime = mbb.getInt();
hasRemaining metodu
Şöyle yaparız.
int position = 0;
int bytestomap = ...;

MappedByteBuffer mbBuffer = fileChannel.map(MapMode.READ_ONLY, position, bytestomap);
int limit = mbBuffer.limit();
while (mbBuffer.hasRemaining()) {
  ...
}
order metodu
Şöyle yaparız
mbb.order(ByteOrder.nativeOrder());
put metodu
Şöyle yaparız.
byte[] b = ...;
MappedByteBuffer mapped = ...;
mapped.position(4000);
mapped.put(b);
remaining metodu
Şöyle yaparız.
byte[] buf = new byte[mbb.remaining()];
mbb.get(buf);

Hiç yorum yok:

Yorum Gönder