Mega Code Archive

 
Categories / Java / File Input Output
 

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++));   } } ///:~