guava/src/com/google/common/io/Files.java
@Beta
  public static MappedByteBuffer map(File file, MapMode mode, long size) throws IOException {
    checkArgument(size >= 0, "size (%s) may not be negative", size);
    return mapInternal(file, mode, size);
  }
@Beta
  public static MappedByteBuffer map(File file, MapMode mode, long size) throws IOException {
    checkArgument(size >= 0, "size (%s) may not be negative", size);
    return mapInternal(file, mode, size);
  }
Maps a file in to memory as per {@link FileChannel#map(java.nio.channels.FileChannel.MapMode,
long, long)} using the requested {@link MapMode}.

<p>Files are mapped from offset 0 to {@code size}.

<p>If the mode is {@link MapMode#READ_WRITE} and the file does not exist, it will be created
with the requested {@code size}. Thus this method is useful for creating memory mapped files
which do not yet exist.

<p>This only works for files ≤ {@link Integer#MAX_VALUE} bytes.

@param file the file to map
@param mode the mode to use when mapping {@code file}
@return a buffer reflecting {@code file}
@throws IOException if an I/O error occurs
@see FileChannel#map(MapMode, long, long)
@since 2.0