Package com.opencsv
Class CSVReaderHeaderAware
java.lang.Object
com.opencsv.CSVReader
com.opencsv.CSVReaderHeaderAware
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Iterable<String[]>
Handy reader when there's insufficient motivation to use the bean binding but
the header mapping is still desired.
- Since:
- 4.2
-
Field Summary
FieldsFields inherited from class com.opencsv.CSVReader
br, CONTEXT_MULTILINE_EXCEPTION_MESSAGE_SIZE, DEFAULT_KEEP_CR, DEFAULT_MULTILINE_LIMIT, DEFAULT_SKIP_LINES, DEFAULT_VERIFY_READER, errorLocale, hasNext, keepCR, lineReader, linesRead, linesSkipped, multilineLimit, parser, PASSTHROUGH_EXCEPTIONS, peekedLine, peekedLines, READ_AHEAD_LIMIT, recordsRead, skipLines, verifyReader
-
Constructor Summary
ConstructorsConstructorDescriptionCSVReaderHeaderAware
(Reader reader) Constructor with supplied reader.CSVReaderHeaderAware
(Reader reader, int skipLines, ICSVParser parser, boolean keepCR, boolean verifyReader, int multilineLimit, Locale errorLocale, LineValidatorAggregator lineValidatorAggregator, RowValidatorAggregator rowValidatorAggregator, RowProcessor rowProcessor) Supports non-deprecated constructor from the parent class. -
Method Summary
Methods inherited from class com.opencsv.CSVReader
close, combineResultsFromMultipleReads, getLinesRead, getMultilineLimit, getNextLine, getParser, getRecordsRead, getSkipLines, isClosed, iterator, keepCarriageReturns, peek, readAll, readNext, readNextSilently, setErrorLocale, skip, validateResult, verifyReader
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
headerIndex
-
-
Constructor Details
-
CSVReaderHeaderAware
Constructor with supplied reader.- Parameters:
reader
- The reader to an underlying CSV source- Throws:
IOException
- If there is an error when reading the header
-
CSVReaderHeaderAware
CSVReaderHeaderAware(Reader reader, int skipLines, ICSVParser parser, boolean keepCR, boolean verifyReader, int multilineLimit, Locale errorLocale, LineValidatorAggregator lineValidatorAggregator, RowValidatorAggregator rowValidatorAggregator, RowProcessor rowProcessor) throws IOException Supports non-deprecated constructor from the parent class. Like the CSVReader this constructor is package scope so only the builder can use it.- Parameters:
reader
- The reader to an underlying CSV sourceskipLines
- The number of lines to skip before readingparser
- The parser to use to parse inputkeepCR
- True to keep carriage returns in data read, false otherwiseverifyReader
- True to verify reader before each read, false otherwisemultilineLimit
- Allow the user to define the limit to the number of lines in a multiline record. Less than one means no limit.errorLocale
- Set the locale for error messages. If null, the default locale is used.lineValidatorAggregator
- contains all the custom defined line validators.rowValidatorAggregator
- contains all the custom defined row validators.rowProcessor
- Custom row processor to run on all columns on a csv record.- Throws:
IOException
- If bad things happen while initializing the header
-
-
Method Details
-
readNext
Retrieves a specific data element from a line based on the value of the header.- Parameters:
headerNames
- Name of the header element whose data we are trying to find- Returns:
- The data element whose position matches that of the header whose value is passed in. Will return null when there are no more data elements.
- Throws:
IOException
- An error occured during the read or there is a mismatch in the number of data items in a row and the number of header itemsIllegalArgumentException
- If headerName does not existCsvValidationException
- If a custom defined validator fails.
-
readMap
Reads the next line and returns a map of header values and data values.- Returns:
- A map whose key is the header row of the data file and the values is the data values. Or null if the line is blank.
- Throws:
IOException
- An error occurred during the read or there is a mismatch in the number of data items in a row and the number of header items.CsvValidationException
- If a custom defined validator fails.
-
initializeHeader
- Throws:
IOException
-