Mapping an entire file into memory for reading : Input Output Stream « File Input Output « Java





Mapping an entire file into memory for reading


// : c12:MappedFile.java
// Mapping an entire file into memory for reading.
// {Args: MappedFile.java}
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.

import java.io.File;
import java.io.FileInputStream;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;

public class MappedFile {
  public static void main(String[] args) throws Exception {
    if (args.length != 1) {
      System.out.println("argument: sourcefile");
      System.exit(1);
    }
    long length = new File(args[0]).length();
    MappedByteBuffer in = new FileInputStream(args[0]).getChannel().map(
        FileChannel.MapMode.READ_ONLY, 0, length);
    int i = 0;
    while (i < length)
      System.out.print((char) in.get(i++));
  }
} ///:~


           
       










Related examples in the same category

1.Buffer EqualityBuffer Equality
2.Input and output with human-readable text filesInput and output with human-readable text files
3.Input and output of primitive values with binary filesInput and output of primitive values with binary files
4.Input and output of arrays and objects with binary filesInput and output of arrays and objects with binary files
5.Input and output of primitive values with random access binary filesInput and output of primitive values with random access binary files
6.Input and output using strings and string buffersInput and output using strings and string buffers
7.Timing Unbuffered Reads
8.Reading Bytes from a DataInputStreamReading Bytes from a DataInputStream
9.Comparing Buffered and Unbuffered Writing Performance
10.Read a file and print, using LineReader and System.out
11.Demonstrate ProgressMeterInputStream
12.Converting text to and from ByteBuffersConverting text to and from ByteBuffers
13.Demonstrates standard I/O redirection
14.Creating a very large file using mappingCreating a very large file using mapping
15.Demonstrates the use of the File class to create directories and manipulate files
16.Mapped IOMapped IO
17.What happens when the entire file isn't in your mapping region
18.Object serializationObject serialization
19.Locking portions of a mapped fileLocking portions of a mapped file
20.File read and writeFile read and write