Package com.opencsv

Class CSVReaderHeaderAware

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.lang.Iterable<java.lang.String[]>

    public class CSVReaderHeaderAware
    extends CSVReader
    Handy reader when there's insufficient motivation to use the bean binding but the header mapping is still desired.
    Since:
    4.2
    Author:
    Andre Rosot
    • Constructor Detail

      • CSVReaderHeaderAware

        public CSVReaderHeaderAware​(java.io.Reader reader)
                             throws java.io.IOException
        Constructor with supplied reader.
        Parameters:
        reader - The reader to an underlying CSV source
        Throws:
        java.io.IOException - If there is an error when reading the header
    • Method Detail

      • readNext

        public java.lang.String[] readNext​(java.lang.String... headerNames)
                                    throws java.io.IOException,
                                           CsvValidationException
        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:
        java.io.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 items
        java.lang.IllegalArgumentException - If headerName does not exist
        CsvValidationException - If a custom defined validator fails.
      • readMap

        public java.util.Map<java.lang.String,​java.lang.String> readMap()
                                                                       throws java.io.IOException,
                                                                              CsvValidationException
        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:
        java.io.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 items.
        CsvValidationException - If a custom defined validator fails.