JFileChecker is a Java application that can be used to check delimited or fixed width data files to ensure
they contain properly formatted data. You can customize as many data file "profiles" as you want, and data
files can be filtered through the JFileChecker application using the appropriate profile. Bad records are
listed in an output file for your post-run analysis.
How does it work?
A data file profile is customized to describe both the expected overall data file structure, as well as
the expected format of each column of data within a data file. Customizing the overall data file structure
includes providing information such as:
- the type of data file, delimited or fixed width
- if delimited, what the delimiter is
- the maximum file size JFileChecker is allowed to check (if any)
- the expected number of header rows (if any)
- the maximum number of errors caught before JFileChecker stops checking a data file (if desired)
Customizing the expected format of each column of data includes providing information for each column such as:
- the column's name by which it can be referenced
- the column's data type (text, number, date, or list)
- if the column is required or not
- if the data file is fixed width, the starting and ending character positions for the column
- if a text column:
- the minimum allowable length
- the maximum allowable length
- and any regular expression to which the column value must adhere
- if a date field:
- the minimum allowable date
- the maximum allowable date
- the acceptable format(s) for the date values in this column
- if a number field:
- the minimum allowable numeric value
- the maximum allowable numeric value
- the maximum number of decimal places allowed (if any)
- if a list field (values for this column must be of a set list):
- what the list is
- if list value comparisons should be case-sensitive
- any unique constraint(s) to which the field belongs
- any "all-or-none" constraint(s) to which the field belongs
The custom data file profile information is stored in a database so that it can be accessed again and again.
(Note: you can use any database you feel comfortable using, as long as it can connect to a java application.
More about this is given in the technical info section). Running JFileChecker on a data file using a
specified data file profile will result in a "result" file being created detailing any bad data found in
the data file. A small sample result file can be seen here.
Java is a trademark of Sun Microsystems, Inc. in the United States and other countries.