public class DbaseFileHeader extends Object
| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_ENCODING
Encoding of String, found in Language Code Page DBF Header, use ISO-8859-1 as default value
|
static byte |
DEFAULT_ENCODING_FLAG |
| Constructor and Description |
|---|
DbaseFileHeader() |
| Modifier and Type | Method and Description |
|---|---|
void |
addColumn(String inFieldName,
char inFieldType,
int inFieldLength,
int inDecimalCount)
Add a column to this DbaseFileHeader.
|
int |
getFieldDecimalCount(int inIndex)
Get the decimal count of this field.
|
int |
getFieldLength(int inIndex)
Returns the field length in bytes.
|
String |
getFieldName(int inIndex)
Get the field name.
|
char |
getFieldType(int inIndex)
Get the character class of the field.
|
String |
getFileEncoding() |
int |
getHeaderLength()
Get the length of the header
|
int |
getLargestFieldSize()
Get the largest field size of this table.
|
Date |
getLastUpdateDate()
Get the date this file was last updated.
|
int |
getNumFields()
Return the number of fields in the records.
|
int |
getNumRecords()
Return the number of records in the file
|
int |
getRecordLength()
Get the length of the records in bytes.
|
void |
readHeader(FileChannel channel,
String forceEncoding)
Read the header data from the DBF file.
|
int |
removeColumn(String inFieldName)
Remove a column from this DbaseFileHeader.
|
boolean |
setEncoding(String encoding)
Set file encoding
|
void |
setNumRecords(int inNumRecords)
Set the number of records in the file
|
String |
toString()
Get a simple representation of this header.
|
void |
writeHeader(WritableByteChannel out)
Write the header data to the DBF file.
|
public static String DEFAULT_ENCODING
public static byte DEFAULT_ENCODING_FLAG
public void addColumn(String inFieldName, char inFieldType, int inFieldLength, int inDecimalCount) throws DbaseFileException
Field Type MaxLength ---------- --------- C 254 D 8 F 20 N 18
inFieldName - The name of the new field, must be less than 10 characters or
it gets truncated.inFieldType - A character representing the dBase field, ( see above ). Case
insensitive.inFieldLength - The length of the field, in bytes ( see above )inDecimalCount - For numeric fields, the number of decimal places to track.DbaseFileException - "02" => "cp850", # International MS–DOS
If the type is not recognized.public int removeColumn(String inFieldName)
inFieldName - The name of the field, will ignore case and trim.public int getFieldLength(int inIndex)
inIndex - The field index.public String getFileEncoding()
public int getFieldDecimalCount(int inIndex)
inIndex - The field index.public String getFieldName(int inIndex)
inIndex - The field index.public char getFieldType(int inIndex)
inIndex - The field index.public Date getLastUpdateDate()
public int getNumFields()
public int getNumRecords()
public int getRecordLength()
public int getHeaderLength()
public void readHeader(FileChannel channel, String forceEncoding) throws IOException
channel - A readable byte channel. If you have an InputStream you need
to use, you can call java.nio.Channels.getChannel(InputStream
in).IOException - If errors occur while reading.public int getLargestFieldSize()
public void setNumRecords(int inNumRecords)
inNumRecords - The number of records.public boolean setEncoding(String encoding)
encoding - Encoding to setpublic void writeHeader(WritableByteChannel out) throws IOException
out - A channel to write to. If you have an OutputStream you can
obtain the correct channel by using
java.nio.Channels.newChannel(OutputStream out).IOException - If errors occur.Copyright © 2019 CNRS. All rights reserved.