-bottom

net.sf.csv4j
Class CSVFileProcessor

java.lang.Object
  extended by net.sf.csv4j.CSVFileProcessor

public class CSVFileProcessor
extends Object

Provides an easy to use mechanism to process CSV files. The details of reading and parsing the CSV file along with its header are managed.

The API provides a callback processor interface (CSVLineProcessor) which is called as the file is processed to receive the CSV header and data lines. A simpler interface, CSVFieldMapProcessor, provides the field name and values for each line as an easy to access Map.

Example usage with CSVLineProcessor:

      final CSVFileProcessor fp = new CSVFileProcessor();
      fp.processFile( "data.csv", new CSVLineProcessor() {
          public void processHeaderLine( int linenumber, List<String> fields )
          {
              // use / save the header
          }


          public void processDataLine( int linenumber, List<String> fields )
          {
              // use the data
          }
      } );
 

Example usage with CSVFieldMapProcessor:

      final CSVFileProcessor fp = new CSVFileProcessor();
      fp.processFile( "data.csv", new CSVFieldMapProcessor() {
          public void processDataLine( int linenumber, Map<String,String> fields )
          {
              // use the data
          }
      } );
 

Since:
1.0
Author:
Shawn Boyce

Constructor Summary
CSVFileProcessor()
          Constructor.
 
Method Summary
 char getComment()
          Returns the comment setting.
 boolean isHasHeader()
          Indicates if the file has a header line.
 int processFile(String filename, CSVFieldMapProcessor processor)
          Processes the CSV file using the provided processor.
 int processFile(String filename, CSVLineProcessor processor)
          Processes the CSV file using the provided processor
 int processFile(String filename, CSVSortedFieldMapProcessor processor)
          Processes the CSV file using the provided processor.
 void setComment(char comment)
          Sets the comment string value.
 void setHasHeader(boolean hasHeader)
          Sets the hasHeader value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CSVFileProcessor

public CSVFileProcessor()
Constructor.

Method Detail

getComment

public char getComment()
Returns the comment setting.

Returns:
comment setting.

setComment

public void setComment(char comment)
Sets the comment string value.

Parameters:
comment - the new comment string value

isHasHeader

public boolean isHasHeader()
Indicates if the file has a header line.

Returns:
true if header line expected; false otherwise.

setHasHeader

public void setHasHeader(boolean hasHeader)
Sets the hasHeader value.

Parameters:
hasHeader - true if file has a header line; false if not

processFile

public int processFile(String filename,
                       CSVLineProcessor processor)
                throws IOException,
                       ProcessingException,
                       ParseException
Processes the CSV file using the provided processor

Parameters:
filename - name of CSV file
processor - handler to process the CSV lines
Returns:
number of lines processed
Throws:
FileNotFoundException - if file not found
IOException - if a read error occurs
ProcessingException - if an exception is thrown by the processor
ParseException - if a error occurs parsing the CSV line

processFile

public int processFile(String filename,
                       CSVFieldMapProcessor processor)
                throws IOException,
                       ProcessingException,
                       ParseException
Processes the CSV file using the provided processor. Notes:
  1. CSV file must have a header line (hasHeader must be true)
  2. if a data line has fewer columns than the header line, the missing columns will be blanks

Parameters:
filename - name of CSV file
processor - handler to process the CSV lines
Returns:
number of lines processed
Throws:
FileNotFoundException - if file not found
IOException - if a read error occurs
ProcessingException - if an exception is thrown by the processor
ParseException - if a error occurs parsing the CSV line

processFile

public int processFile(String filename,
                       CSVSortedFieldMapProcessor processor)
                throws IOException,
                       ProcessingException,
                       ParseException
Processes the CSV file using the provided processor. Notes:
  1. CSV file must have a header line (hasHeader must be true)
  2. if a data line has fewer columns than the header line, the missing columns will be blanks

Parameters:
filename - name of CSV file
processor - handler to process the CSV lines
Returns:
number of lines processed
Throws:
FileNotFoundException - if file not found
IOException - if a read error occurs
ProcessingException - if an exception is thrown by the processor
ParseException - if a error occurs parsing the CSV line

-bottom