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 final 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:
  • 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[]>