DBFWrite (downloaded Feb 21) cannot write LONG fields.
in writeRecord() for LONG it should be
case LONG:
case AUTOINCREMENT:
if (objectArray[j] != null) {
dataOutput.write(DBFUtils.littleEndianInt(((Number) objectArray[j]).intValue()));
}
else {
dataOutput.write(0);
}
break;
instead of
dataOutput.write(DBFUtils.littleEndian(((Number) objectArray[j]).intValue()));
DBFWrite (downloaded Feb 21) cannot write LONG fields.
in writeRecord() for LONG it should be case LONG: case AUTOINCREMENT: if (objectArray[j] != null) { dataOutput.write(DBFUtils.littleEndianInt(((Number) objectArray[j]).intValue())); } else { dataOutput.write(0); } break;
instead of dataOutput.write(DBFUtils.littleEndian(((Number) objectArray[j]).intValue()));
which writes only one byte instead of four.