Coverage Report - org.galagosearch.core.index.DocumentLengthsReader
 
Classes in this File Line Coverage Branch Coverage Complexity
DocumentLengthsReader
67%
6/9
N/A
1
 
 1  
 // BSD License (http://www.galagosearch.org/license)
 2  
 
 3  
 package org.galagosearch.core.index;
 4  
 
 5  
 import java.io.File;
 6  
 import java.io.FileNotFoundException;
 7  
 import java.io.IOException;
 8  
 import java.io.RandomAccessFile;
 9  
 import java.nio.ByteBuffer;
 10  
 import java.nio.channels.FileChannel;
 11  
 
 12  
 /**
 13  
  *
 14  
  * @author trevor
 15  
  */
 16  
 public class DocumentLengthsReader {
 17  
     RandomAccessFile file;
 18  
     FileChannel channel;
 19  
     ByteBuffer buffer;
 20  
     
 21  12
     public DocumentLengthsReader(String filename) throws FileNotFoundException, IOException {
 22  12
         file = new RandomAccessFile(new File(filename), "r");
 23  12
         channel = file.getChannel();
 24  12
         buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
 25  12
     }
 26  
     
 27  
     public void close() throws IOException {
 28  0
         channel.close();
 29  0
         file.close();
 30  0
     }
 31  
     
 32  
     public int getLength(int document) {
 33  20
         return buffer.getInt(document*4);
 34  
     }
 35  
 }