Module org.jooq

Class CSVParser


  • public class CSVParser
    extends Object
    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 Detail

      • DEFAULT_SEPARATOR

        public static final char DEFAULT_SEPARATOR
        The default separator to use if none is supplied to the constructor.
        See Also:
        Constant Field Values
      • DEFAULT_QUOTE_CHARACTER

        public static final char DEFAULT_QUOTE_CHARACTER
        The 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_CHARACTER
        The 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_QUOTES
        The 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_WHITESPACE
        The 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_CHARACTER
        This 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 Detail

      • 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 entries
        quotechar - 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 entries
        quotechar - the character to use for quoted elements
        escape - 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 entries
        quotechar - the character to use for quoted elements
        escape - the character to use for escaping a separator or quote
        strictQuotes - 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 entries
        quotechar - the character to use for quoted elements
        escape - the character to use for escaping a separator or quote
        strictQuotes - if true, characters outside the quotes are ignored
        ignoreLeadingWhiteSpace - if true, white space in front of a quote in a field is ignored
    • Method Detail

      • isPending

        public boolean isPending()
        Returns:
        true if something was left over from last call(s)
      • isNextCharacterEscapable

        protected boolean isNextCharacterEscapable​(String nextLine,
                                                   boolean inQuotes,
                                                   int i)
        precondition: the current character is an escape
        Parameters:
        nextLine - the current line
        inQuotes - true if the current context is quoted
        i - current index in line
        Returns:
        true if the following character is a quote
      • isAllWhiteSpace

        protected boolean isAllWhiteSpace​(CharSequence sb)
        precondition: sb.length() > 0
        Parameters:
        sb - A sequence of characters to examine
        Returns:
        true if every character in the sequence is whitespace