java.lang.Object
org.jooq.tools.csv.CSVParser
A very simple CSV parser released under a commercial-friendly license. This
just implements splitting a single line into fields.
- Author:
- Glen Smith, Rainer Pruy
-
Field Summary
Modifier and TypeFieldDescriptionstatic char
The default escape character to use if none is supplied to the constructor.static boolean
The default leading whitespace behavior to use if none is supplied to the constructorstatic char
The default quote character to use if none is supplied to the constructor.static char
The default separator to use if none is supplied to the constructor.static boolean
The default strict quote behavior to use if none is supplied to the constructorstatic int
static char
This is the "null" character - if a value is set to this then it is ignored. -
Constructor Summary
ConstructorDescriptionConstructs CSVParser using a comma for the separator.CSVParser(char separator)
Constructs CSVParser with supplied separator.CSVParser(char separator, char quotechar)
Constructs CSVParser with supplied separator and quote char.CSVParser(char separator, char quotechar, char escape)
Constructs CSVReader with supplied separator and quote char.CSVParser(char separator, char quotechar, char escape, boolean strictQuotes)
Constructs CSVReader with supplied separator and quote char.CSVParser(char separator, char quotechar, char escape, boolean strictQuotes, boolean ignoreLeadingWhiteSpace)
Constructs CSVReader with supplied separator and quote char. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
precondition: sb.length() > 0protected boolean
isNextCharacterEscapable(String nextLine, boolean inQuotes, int i)
precondition: the current character is an escapeboolean
String[]
String[]
parseLineMulti(String nextLine)
-
Field Details
-
DEFAULT_SEPARATOR
public static final char DEFAULT_SEPARATORThe default separator to use if none is supplied to the constructor.- See Also:
- Constant Field Values
-
INITIAL_READ_SIZE
public static final int INITIAL_READ_SIZE- See Also:
- Constant Field Values
-
DEFAULT_QUOTE_CHARACTER
public static final char DEFAULT_QUOTE_CHARACTERThe default quote character to use if none is supplied to the constructor.- See Also:
- Constant Field Values
-
DEFAULT_ESCAPE_CHARACTER
public static final char DEFAULT_ESCAPE_CHARACTERThe default escape character to use if none is supplied to the constructor.- See Also:
- Constant Field Values
-
DEFAULT_STRICT_QUOTES
public static final boolean DEFAULT_STRICT_QUOTESThe default strict quote behavior to use if none is supplied to the constructor- See Also:
- Constant Field Values
-
DEFAULT_IGNORE_LEADING_WHITESPACE
public static final boolean DEFAULT_IGNORE_LEADING_WHITESPACEThe default leading whitespace behavior to use if none is supplied to the constructor- See Also:
- Constant Field Values
-
NULL_CHARACTER
public static final char NULL_CHARACTERThis is the "null" character - if a value is set to this then it is ignored. I.E. if the quote character is set to null then there is no quote character.- See Also:
- Constant Field Values
-
-
Constructor Details
-
CSVParser
public CSVParser()Constructs CSVParser using a comma for the separator. -
CSVParser
public CSVParser(char separator)Constructs CSVParser with supplied separator.- Parameters:
separator
- the delimiter to use for separating entries.
-
CSVParser
public CSVParser(char separator, char quotechar)Constructs CSVParser with supplied separator and quote char.- Parameters:
separator
- the delimiter to use for separating entriesquotechar
- the character to use for quoted elements
-
CSVParser
public CSVParser(char separator, char quotechar, char escape)Constructs CSVReader with supplied separator and quote char.- Parameters:
separator
- the delimiter to use for separating entriesquotechar
- the character to use for quoted elementsescape
- the character to use for escaping a separator or quote
-
CSVParser
public CSVParser(char separator, char quotechar, char escape, boolean strictQuotes)Constructs CSVReader with supplied separator and quote char. Allows setting the "strict quotes" flag- Parameters:
separator
- the delimiter to use for separating entriesquotechar
- the character to use for quoted elementsescape
- the character to use for escaping a separator or quotestrictQuotes
- if true, characters outside the quotes are ignored
-
CSVParser
public CSVParser(char separator, char quotechar, char escape, boolean strictQuotes, boolean ignoreLeadingWhiteSpace)Constructs CSVReader with supplied separator and quote char. Allows setting the "strict quotes" and "ignore leading whitespace" flags- Parameters:
separator
- the delimiter to use for separating entriesquotechar
- the character to use for quoted elementsescape
- the character to use for escaping a separator or quotestrictQuotes
- if true, characters outside the quotes are ignoredignoreLeadingWhiteSpace
- if true, white space in front of a quote in a field is ignored
-
-
Method Details
-
isPending
public boolean isPending()- Returns:
- true if something was left over from last call(s)
-
parseLineMulti
- Throws:
IOException
-
parseLine
- Throws:
IOException
-
isNextCharacterEscapable
precondition: the current character is an escape- Parameters:
nextLine
- the current lineinQuotes
- true if the current context is quotedi
- current index in line- Returns:
- true if the following character is a quote
-
isAllWhiteSpace
precondition: sb.length() > 0- Parameters:
sb
- A sequence of characters to examine- Returns:
- true if every character in the sequence is whitespace
-