Package org.geotools.data.shapefile.shp
Class IndexFile
- Object
-
- IndexFile
-
- All Implemented Interfaces:
AutoCloseable
,FileReader
public class IndexFile extends Object implements FileReader, AutoCloseable
IndexFile parser for .shx files.
For now, the creation of index files is done in the ShapefileWriter. But this can be used to access the index.
For details on the index file, see
"ESRI(r) Shapefile - A Technical Description"
* 'An ESRI White Paper . May 1997'- Author:
- Ian Schneider
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
protected void
finalize()
int
getContentLength(int index)
Get the content length of the given record in bytes, not 16 bit words.ShapefileHeader
getHeader()
Get the header of this index file.int
getOffset(int index)
Get the offset of the record (in 16-bit words).int
getOffsetInBytes(int index)
Get the offset of the record (in real bytes, not 16-bit words).int
getRecordCount()
Get the number of records in this index.String
id()
An id for the reader.
-
-
-
Constructor Detail
-
IndexFile
public IndexFile(ShpFiles shpFiles, boolean useMemoryMappedBuffer) throws IOException
Load the index file from the given channel.- Parameters:
shpFiles
- The channel to read from.- Throws:
IOException
- If an error occurs.
-
-
Method Detail
-
getHeader
public ShapefileHeader getHeader()
Get the header of this index file.- Returns:
- The header of the index file.
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Throws:
IOException
-
finalize
protected void finalize() throws Throwable
- Overrides:
finalize
in classObject
- Throws:
Throwable
- See Also:
Object.finalize()
-
getRecordCount
public int getRecordCount()
Get the number of records in this index.- Returns:
- The number of records.
-
getOffset
public int getOffset(int index) throws IOException
Get the offset of the record (in 16-bit words).- Parameters:
index
- The index, from 0 to getRecordCount - 1- Returns:
- The offset in 16-bit words.
- Throws:
IOException
-
getOffsetInBytes
public int getOffsetInBytes(int index) throws IOException
Get the offset of the record (in real bytes, not 16-bit words).- Parameters:
index
- The index, from 0 to getRecordCount - 1- Returns:
- The offset in bytes.
- Throws:
IOException
-
getContentLength
public int getContentLength(int index) throws IOException
Get the content length of the given record in bytes, not 16 bit words.- Parameters:
index
- The index, from 0 to getRecordCount - 1- Returns:
- The lengh in bytes of the record.
- Throws:
IOException
-
id
public String id()
Description copied from interface:FileReader
An id for the reader. This is only used for debugging.- Specified by:
id
in interfaceFileReader
- Returns:
- id for the reader.
-
-