Package com.opencsv

Class CSVReaderBuilder


  • public class CSVReaderBuilder
    extends CSVReaderBaseBuilder<CSVReader>
    Builder for creating a CSVReader.

    This should be the preferred method of creating a Reader as there are so many possible values to be set it is impossible to have constructors for all of them and keep backwards compatibility with previous constructors.
    final CSVParser parser =
    new CSVParserBuilder()
    .withSeparator('\t')
    .withIgnoreQuotations(true)
    .build();
    final CSVReader reader =
    new CSVReaderBuilder(new StringReader(csv))
    .withSkipLines(1)
    .withCSVParser(parser)
    .build();

    See Also:
    CSVReader
    • Constructor Detail

      • CSVReaderBuilder

        public CSVReaderBuilder​(java.io.Reader reader)
        Sets the reader to an underlying CSV source.
        Parameters:
        reader - The reader to an underlying CSV source.
    • Method Detail

      • withSkipLines

        public CSVReaderBuilder withSkipLines​(int skipLines)
        Sets the number of lines to skip before reading.
        Parameters:
        skipLines - The number of lines to skip before reading.
        Returns:
        this
      • withCSVParser

        public CSVReaderBuilder withCSVParser​(ICSVParser icsvParser)
        Sets the parser to use to parse the input.
        Parameters:
        icsvParser - The parser to use to parse the input.
        Returns:
        this
      • withKeepCarriageReturn

        public CSVReaderBuilder withKeepCarriageReturn​(boolean keepCR)
        Sets if the reader will keep or discard carriage returns.
        Parameters:
        keepCR - True to keep carriage returns, false to discard.
        Returns:
        this
      • withVerifyReader

        public CSVReaderBuilder withVerifyReader​(boolean verifyReader)
        Checks to see if the CSVReader should verify the reader state before reads or not.

        This should be set to false if you are using some form of asynchronous reader (like readers created by the java.nio.* classes).

        The default value is true.

        Parameters:
        verifyReader - True if CSVReader should verify reader before each read, false otherwise.
        Returns:
        this
      • withMultilineLimit

        public CSVReaderBuilder withMultilineLimit​(int multilineLimit)
        Sets the maximum number of lines allowed in a multiline record. More than this number in one record results in an IOException.
        Parameters:
        multilineLimit - No more than this number of lines is allowed in a single input record. The default is CSVReader.DEFAULT_MULTILINE_LIMIT.
        Returns:
        this
      • withErrorLocale

        public CSVReaderBuilder withErrorLocale​(java.util.Locale errorLocale)
        Sets the locale for all error messages.
        Parameters:
        errorLocale - Locale for error messages
        Returns:
        this
        Since:
        4.0