Package com.logicaldoc.util.csv
Class CSVFileReader
java.lang.Object
com.logicaldoc.util.csv.CSVFile
com.logicaldoc.util.csv.CSVFileReader
- All Implemented Interfaces:
Closeable
,AutoCloseable
CSVFileReader is a class derived from CSVFile used to parse an existing CSV
file.
Adapted from a C++ original that is Copyright (C) 1999 Lucent
Technologies.
Excerpted from 'The Practice of Programming' by Brian Kernighan and Rob Pike.
Included by permission of the Addison-Wesley web site, which says: "You may use this code for any purpose, as long as you leave the copyright notice and book citation attached".
- Version:
- %I%, %G%
- Author:
- Brian Kernighan and Rob Pike (C++ original), Ian F. Darwin (translation into Java and removal of I/O), Ben Ballard (rewrote handleQuotedField to handle double quotes and for readability), Fabrizio Fazzino (added integration with CSVFile, handling of variable textQualifier and Vector with explicit String type)
-
Constructor Summary
ConstructorDescriptionCSVFileReader
(String inputFileName) CSVFileReader constructor just need the name of the existing CSV file that will be read.CSVFileReader
(String inputFileName, char sep) CSVFileReader constructor with a given field separator.CSVFileReader
(String inputFileName, char sep, char qual) CSVFileReader constructor with given field separator and text qualifier. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the input CSV file.Split the next line of the input CSV file into fields.Methods inherited from class com.logicaldoc.util.csv.CSVFile
getFieldSeparator, getTextQualifier, setFieldSeparator, setTextQualifier
-
Constructor Details
-
CSVFileReader
public CSVFileReader(String inputFileName) throws FileNotFoundException, UnsupportedEncodingException CSVFileReader constructor just need the name of the existing CSV file that will be read.- Parameters:
inputFileName
- The name of the CSV file to be opened for reading- Throws:
FileNotFoundException
- If the file to be read does not existUnsupportedEncodingException
- If the CSV contains elements not compatible with the UTF-8 encoding
-
CSVFileReader
public CSVFileReader(String inputFileName, char sep) throws FileNotFoundException, UnsupportedEncodingException CSVFileReader constructor with a given field separator.- Parameters:
inputFileName
- The name of the CSV file to be opened for readingsep
- The field separator to be used; overwrites the default one- Throws:
FileNotFoundException
- If the file to be read does not existUnsupportedEncodingException
- If the CSV contains elements not compatible with the UTF-8 encoding
-
CSVFileReader
public CSVFileReader(String inputFileName, char sep, char qual) throws FileNotFoundException, UnsupportedEncodingException CSVFileReader constructor with given field separator and text qualifier.- Parameters:
inputFileName
- The name of the CSV file to be opened for readingsep
- The field separator to be used; overwrites the default onequal
- The text qualifier to be used; overwrites the default one- Throws:
FileNotFoundException
- If the file to be read does not existUnsupportedEncodingException
- If the CSV contains elements not compatible with the UTF-8 encodings
-
-
Method Details
-
readFields
Split the next line of the input CSV file into fields.This is currently the most important function of the package.
- Returns:
- Vector of strings containing each field from the next line of the file
- Throws:
IOException
- If an error occurs while reading the new line from the file
-
close
Close the input CSV file.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
- If an error occurs while closing the file
-