Package org.geotools.data.shapefile.dbf
Class IndexedDbaseFileReader
- Object
-
- DbaseFileReader
-
- IndexedDbaseFileReader
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,FileReader
public class IndexedDbaseFileReader extends DbaseFileReader
A DbaseFileReader is used to read a dbase III format file.
The general use of this class is:
For consumers who wish to be a bit more selective with their reading of rows, the Row object has been added. The semantics are the same as using the readEntry method, but remember that the Row object is always the same. The values are parsed as they are read, so it pays to copy them out (as each call to Row.read() will result in an expensive String parse).FileChannel in = new FileInputStream("thefile.dbf").getChannel(); DbaseFileReader r = new DbaseFileReader( in ) Object[] fields = new Object[r.getHeader().getNumFields()]; while (r.hasNext()) { r.readEntry(fields); // do stuff } r.close();
EACH CALL TO readEntry OR readRow ADVANCES THE FILE!
An example of using the Row method of reading:FileChannel in = new FileInputStream("thefile.dbf").getChannel(); DbaseFileReader r = new DbaseFileReader( in ) int fields = r.getHeader().getNumFields(); while (r.hasNext()) { DbaseFileReader.Row row = r.readRow(); for (int i = 0; i < fields; i++) { // do stuff Foo.bar( row.read(i) ); } } r.close();
- Author:
- Ian Schneider, Tommaso Nolli
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class DbaseFileReader
DbaseFileReader.Row
-
-
Field Summary
-
Fields inherited from class DbaseFileReader
currentOffset, randomAccessEnabled, useMemoryMappedBuffer
-
-
Constructor Summary
Constructors Constructor Description IndexedDbaseFileReader(ShpFiles shpFiles)
Like calling DbaseFileReader(ReadableByteChannel, true);IndexedDbaseFileReader(ShpFiles shpFiles, boolean useMemoryMappedBuffer)
Creates a new instance of DBaseFileReaderIndexedDbaseFileReader(ShpFiles shpFiles, boolean useMemoryMappedBuffer, Charset stringCharset)
IndexedDbaseFileReader(ShpFiles shpFiles, boolean useMemoryMappedBuffer, Charset stringCharset, TimeZone timeZone)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
goTo(int recno)
boolean
IsRandomAccessEnabled()
static void
main(String[] args)
-
-
-
Constructor Detail
-
IndexedDbaseFileReader
public IndexedDbaseFileReader(ShpFiles shpFiles) throws IOException
Like calling DbaseFileReader(ReadableByteChannel, true);- Throws:
IOException
-
IndexedDbaseFileReader
public IndexedDbaseFileReader(ShpFiles shpFiles, boolean useMemoryMappedBuffer) throws IOException
Creates a new instance of DBaseFileReader- Parameters:
useMemoryMappedBuffer
- Wether or not map the file in memory- Throws:
IOException
- If an error occurs while initializing.
-
IndexedDbaseFileReader
public IndexedDbaseFileReader(ShpFiles shpFiles, boolean useMemoryMappedBuffer, Charset stringCharset) throws IOException
- Throws:
IOException
-
IndexedDbaseFileReader
public IndexedDbaseFileReader(ShpFiles shpFiles, boolean useMemoryMappedBuffer, Charset stringCharset, TimeZone timeZone) throws IOException
- Throws:
IOException
-
-
Method Detail
-
goTo
public void goTo(int recno) throws IOException, UnsupportedOperationException
-
IsRandomAccessEnabled
public boolean IsRandomAccessEnabled()
-
-