Package fr.becpg.common.csv
Class CSVReader
java.lang.Object
fr.becpg.common.csv.CSVReader
- All Implemented Interfaces:
AutoCloseable
A very simple CSV reader released under a commercial-friendly license.
- Version:
- $Id: $Id
- Author:
- Glen Smith
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BufferedReaderstatic final charThe default quote character to use if none is supplied to the constructor.static final charThe default separator to use if none is supplied to the constructor.static final intThe default line to start reading.private booleanprivate booleanprivate final charprivate final charprivate final int -
Constructor Summary
ConstructorsConstructorDescriptionConstructs CSVReader using a comma for the separator.Constructs CSVReader with supplied separator.Constructs CSVReader with supplied separator and quote char.Constructs CSVReader with supplied separator and quote char. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes the underlying reader.private StringReads the next line from the file.private String[]Parses an incoming String and returns an array of elements.readAll()Reads the entire file into a List with each element being a String[] of tokens.String[]readNext()Reads the next line from the buffer and converts to a string array.
-
Field Details
-
br
-
hasNext
private boolean hasNext -
separator
private final char separator -
quotechar
private final char quotechar -
skipLines
private final int skipLines -
linesSkiped
private boolean linesSkiped -
DEFAULT_SEPARATOR
public static final char DEFAULT_SEPARATORThe default separator to use if none is supplied to the constructor.- See Also:
-
DEFAULT_QUOTE_CHARACTER
public static final char DEFAULT_QUOTE_CHARACTERThe default quote character to use if none is supplied to the constructor.- See Also:
-
DEFAULT_SKIP_LINES
public static final int DEFAULT_SKIP_LINESThe default line to start reading.- See Also:
-
-
Constructor Details
-
CSVReader
Constructs CSVReader using a comma for the separator.- Parameters:
reader- the reader to an underlying CSV source.
-
CSVReader
Constructs CSVReader with supplied separator.- Parameters:
reader- the reader to an underlying CSV source.separator- the delimiter to use for separating entries.
-
CSVReader
Constructs CSVReader with supplied separator and quote char.- Parameters:
reader- the reader to an underlying CSV source.separator- the delimiter to use for separating entriesquotechar- the character to use for quoted elements
-
CSVReader
Constructs CSVReader with supplied separator and quote char.- Parameters:
reader- the reader to an underlying CSV source.separator- the delimiter to use for separating entriesquotechar- the character to use for quoted elementsline- the line number to skip for start reading
-
-
Method Details
-
readAll
Reads the entire file into a List with each element being a String[] of tokens.- Returns:
- a List of String[], with each String[] representing a line of the file.
- Throws:
IOException- if any.
-
readNext
Reads the next line from the buffer and converts to a string array.- Returns:
- a string array with each comma-separated element as a separate entry.
- Throws:
IOException- if any.
-
getNextLine
Reads the next line from the file.- Returns:
- the next line from the file without trailing newline
- Throws:
IOException- if bad things happen during the read
-
parseLine
Parses an incoming String and returns an array of elements.- Parameters:
nextLine- the string to parse- Returns:
- the comma-tokenized list of elements, or null if nextLine is null
- Throws:
IOException- if bad things happen during the read
-
close
Closes the underlying reader.- Specified by:
closein interfaceAutoCloseable- Throws:
IOException
-