xBaseJ - Java Objects To Read and Write to dBase Files.

This current release supports DBF, DBT, NDX MDX, and FPT files.


Get xBaseJ - xBase Engine for Java at SourceForge.net. Fast, secure and Free Open Source software downloads

Features

Navigational Access

xBaseJ classes offer several methods to process dBase III and IV files and FoxPro files.

Record Locking

High Capacity Channel Access

Implements channel I/O methods and routines.

A RMI Server and RMI Client Package

The package comes with a RMI based database server application and client interface classes. These classes allow remote clients to access databases on your server machines. While the RMI package is very fast, it offers NO SECURITY NOR LOCKING MECHANISMS.

Database Browser

xBaseJ has two classes, dbfShow and dbfViewer, for a GUI access local databases.

dbfShow an AWT application navigates a database record by record


dbfViewer a Swing application displays the database as a table.

A GUI To Create a Database

Database HTML Report Generator

    xBaseJ has a class, dbfHTML, that creates an HTML output file of your databases.

Field level objects

    Each Field in the database is an object unto itself.
    A Java class that reads a dbf file and creates a Java bean to simplify your coding effort

xBaseJMailer

An E-Mailer application that reads a dbf file to generate and send e-mail messages.

Current dBase Format Supported

dBase III - DBF, DBT, and NDX No support for expression or function indexes. dBase IV - DBF, DBT, MDX, and NDX No support for expression or function indexes. FoxPro - DBF, FPT no support for FoxPro indexes.

Examples


Required External Jar Files

A version of these files should be in the download package.

Apache Commons Logging

http://commons.apache.org/logging/

JUnit - not really required but necessary if you plan to use the test files.

http://www.junit.org/

Known Problems

There is some incompatibility with dBase V and MDX files use numeric indexes and indexes using date fields.

xBaseJ.Properties

Properties may be set in one of two ways. First, with the xBaseJ.properties file. Contents of which are the standard properties file used by Java. ignoreDBFLengthCheck=true ignoreMissingMDXFile=false <
Second by using the xBaseJ.Util.setxBaseJProperty method passing the name value pair as two parameters. import xBaseJ.util; ... setxBaseJProperty("ignoreDBFLengthCheck", "true"); <

Property Descriptions

Name Description Possible Values Default Value
checkPropertyFileForChanges Indicates to recheck the property file system date to see if it has changed since the last get properties call. True, Yes, False, No True, check to see if property file has changed since last call.
fieldFilledWithSpaces When a character field length is shorter than its maximum length the remain bytes are field with spaces or binary zeros. True, Yes, False, No False, remaining bytes filled with binary zeros.
ignoreDBFLengthCheck Used when creating a DBF, dBase defines maximum record length at 4000. Set this property to true when you want to create dbf files with record lengths greater than 4000. True, Yes, False, No False, record length maximum is 4000
ignoreMissingMDX When opening a DBF file that has its MDX file indicator set to true xBaseJ, like other dbase engines, looks to open the associated MDX file. If it can't be found an exception is thrown. If this property is set to true or yes then the application will not throw an exception. True, Yes, False, No False, throw exception if MDX file is missing.
memoFileExtension When you want to use a different extension for the memo file. Most applications use "DBT" some use "FPT", others have been used. anything if left blank application assumes "DBT".
otherValidCharactersInFieldNames Used to specify non LATIN characters in field names. anything n/a
trimFields Removing trailing spaces from character fields when using get method. True, Yes, False, No False, trailing spaces are not removed.

The Classes

Classes Documentation Description
DBF Methods DBF class is used to create an database object. It contains several methods for database access and control
Classes Documentation Description
Index Abstract class for Index files and tags
NDX Protected and private methods. Used to access the DBF through NDX files.
MDX Protected and Mostly private methods. Used to access the DBF through MDX tags
Classes Documentation Description
Field Abstract class Used by the Field classes
CharField character Field subclass Used to access Field types of 'C'
DateField date Field subclass Used to access Field types of 'D'
LogicalField logical Field subclass Used to access Field types of 'L'
MemoField memo Field subclass Used to access Field types of 'M'
PictureField picture Field subclass Used to access Field types of 'P'
NumField numeric Field subclass Used to access Field types of 'N'
FloatField float Field subclass Used to access Field types of 'F'
Classes Documentation Description
dbfShow Java Frame. This is a Java frame we wrote for testing the class. Write to us and we'll send you the source.
To run this Java application use the following command line:
java xBaseJ.dbfShow
dbfViewer Java Swing JFrame. This is a Java swing jframe we wrote for testing the class.
To run this Java application use the following command line:
java xBaseJ.dbfViewer
Classes Documentation Description
rmi/Server The RMI Server. Use this to create RMI access to your xBase files.
rmi/DBFServerInterface The Client Access to Server is by an Interface Used in conjunction with server. This is the interface that operates on the client machine.
rmi/DBFInterface The Client Access to DBF objects is by an Interface Access fields and other database constructs.
rmi/Field The Client Access to Field objects also by an Interface Here are the getter/setter methods for the field objects
Other Classes Documentation Description
XBASEXMLParser The XML Parser To Create DBF Files Used in conjunction with the XBASE.DTD file and a XML file built with the DTD specifications.

Valid HTML 4.01 Transitional

dBASE webring [ Join Now | Ring Hub | Random | << Prev | Next >> ]

Support This Project

Publish or Perish