Here you can find the source of mmap(File file, long offset, long length, boolean writeable)
public static MappedByteBuffer mmap(File file, long offset, long length, boolean writeable) throws IOException
//package com.java2s; /*//from w w w .j ava2 s .c o m * Copyright 2012 Johns Hopkins University * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; public class Main { public static MappedByteBuffer mmap(File file, long offset, long length, boolean writeable) throws IOException { FileChannel chan = channel(file, writeable); FileChannel.MapMode mode = writeable ? FileChannel.MapMode.READ_WRITE : FileChannel.MapMode.READ_ONLY; MappedByteBuffer buf = chan.map(mode, offset, length); chan.close(); return buf; } public static FileChannel channel(File file, boolean writeable) throws IOException { String opts = writeable ? "rw" : "r"; RandomAccessFile fd = new RandomAccessFile(file, opts); FileChannel chan = fd.getChannel(); return chan; } }