Module org.jooq

Class CSVReader

java.lang.Object
org.jooq.tools.csv.CSVReader
All Implemented Interfaces:
Closeable, AutoCloseable, Iterator<String[]>

public class CSVReader extends Object implements Closeable, Iterator<String[]>
A very simple CSV reader released under a commercial-friendly license.
Author:
Glen Smith
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static int
    The default line to start reading.
  • Constructor Summary

    Constructors
    Constructor
    Description
    CSVReader​(Reader reader)
    Constructs CSVReader using a comma for the separator.
    CSVReader​(Reader reader, char separator)
    Constructs CSVReader with supplied separator.
    CSVReader​(Reader reader, char separator, char quotechar)
    Constructs CSVReader with supplied separator and quote char.
    CSVReader​(Reader reader, char separator, char quotechar, boolean strictQuotes)
    Constructs CSVReader with supplied separator, quote char and quote handling behavior.
    CSVReader​(Reader reader, char separator, char quotechar, char escape)
    Constructs CSVReader with supplied separator and quote char.
    CSVReader​(Reader reader, char separator, char quotechar, char escape, int line)
    Constructs CSVReader with supplied separator and quote char.
    CSVReader​(Reader reader, char separator, char quotechar, char escape, int line, boolean strictQuotes)
    Constructs CSVReader with supplied separator and quote char.
    CSVReader​(Reader reader, char separator, char quotechar, char escape, int line, boolean strictQuotes, boolean ignoreLeadingWhiteSpace)
    Constructs CSVReader with supplied separator and quote char.
    CSVReader​(Reader reader, char separator, char quotechar, int line)
    Constructs CSVReader with supplied separator and quote char.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes the underlying reader.
    boolean
     
     
    Reads the entire file into a List with each element being a String[] of tokens.
    Reads the next line from the buffer and converts to a string array.
    void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.util.Iterator

    forEachRemaining
  • Field Details

    • DEFAULT_SKIP_LINES

      public static final int DEFAULT_SKIP_LINES
      The default line to start reading.
      See Also:
      Constant Field Values
  • Constructor Details

    • CSVReader

      public CSVReader(Reader reader)
      Constructs CSVReader using a comma for the separator.
      Parameters:
      reader - the reader to an underlying CSV source.
    • CSVReader

      public CSVReader(Reader reader, char separator)
      Constructs CSVReader with supplied separator.
      Parameters:
      reader - the reader to an underlying CSV source.
      separator - the delimiter to use for separating entries.
    • CSVReader

      public CSVReader(Reader reader, char separator, char quotechar)
      Constructs CSVReader with supplied separator and quote char.
      Parameters:
      reader - the reader to an underlying CSV source.
      separator - the delimiter to use for separating entries
      quotechar - the character to use for quoted elements
    • CSVReader

      public CSVReader(Reader reader, char separator, char quotechar, boolean strictQuotes)
      Constructs CSVReader with supplied separator, quote char and quote handling behavior.
      Parameters:
      reader - the reader to an underlying CSV source.
      separator - the delimiter to use for separating entries
      quotechar - the character to use for quoted elements
      strictQuotes - sets if characters outside the quotes are ignored
    • CSVReader

      public CSVReader(Reader reader, char separator, char quotechar, char escape)
      Constructs CSVReader with supplied separator and quote char.
      Parameters:
      reader - the reader to an underlying CSV source.
      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
    • CSVReader

      public CSVReader(Reader reader, char separator, char quotechar, int line)
      Constructs CSVReader with supplied separator and quote char.
      Parameters:
      reader - the reader to an underlying CSV source.
      separator - the delimiter to use for separating entries
      quotechar - the character to use for quoted elements
      line - the line number to skip for start reading
    • CSVReader

      public CSVReader(Reader reader, char separator, char quotechar, char escape, int line)
      Constructs CSVReader with supplied separator and quote char.
      Parameters:
      reader - the reader to an underlying CSV source.
      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
      line - the line number to skip for start reading
    • CSVReader

      public CSVReader(Reader reader, char separator, char quotechar, char escape, int line, boolean strictQuotes)
      Constructs CSVReader with supplied separator and quote char.
      Parameters:
      reader - the reader to an underlying CSV source.
      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
      line - the line number to skip for start reading
      strictQuotes - sets if characters outside the quotes are ignored
    • CSVReader

      public CSVReader(Reader reader, char separator, char quotechar, char escape, int line, boolean strictQuotes, boolean ignoreLeadingWhiteSpace)
      Constructs CSVReader with supplied separator and quote char.
      Parameters:
      reader - the reader to an underlying CSV source.
      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
      line - the line number to skip for start reading
      strictQuotes - sets if characters outside the quotes are ignored
      ignoreLeadingWhiteSpace - it true, parser should ignore white space before a quote in a field
  • Method Details

    • readAll

      public List<String[]> readAll() throws IOException
      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 bad things happen during the read
    • readNext

      public String[] readNext() throws IOException
      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 bad things happen during the read
    • close

      public void close() throws IOException
      Closes the underlying reader.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException - if the close fails
    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator<String[]>
    • next

      public String[] next()
      Specified by:
      next in interface Iterator<String[]>
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator<String[]>