Package org.supercsv.io
Class CsvMapReader
java.lang.Object
org.supercsv.io.AbstractCsvReader
org.supercsv.io.CsvMapReader
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ICsvMapReader
,ICsvReader
CsvMapReader reads each CSV row into a Map with the column name as the map key, and the column value as the map
value.
-
Constructor Summary
ConstructorsConstructorDescriptionCsvMapReader
(Reader reader, CsvPreference preferences) Constructs a new CsvMapReader with the supplied Reader and CSV preferences.CsvMapReader
(ITokenizer tokenizer, CsvPreference preferences) Constructs a new CsvMapReader with the supplied (custom) Tokenizer and CSV preferences. -
Method Summary
Modifier and TypeMethodDescriptionReads a row of a CSV file into a Map, using the supplied name mapping to map column values to the appropriate map entries.read
(String[] nameMapping, CellProcessor[] processors) Reads a row of a CSV file into a Map, using the supplied name mapping to map column values to the appropriate map entries, and the supplied processors to process the values before adding them to the Map.Methods inherited from class org.supercsv.io.AbstractCsvReader
close, executeProcessors, get, getColumns, getHeader, getLineNumber, getPreferences, getRowNumber, getUntokenizedRow, length, readRow
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.supercsv.io.ICsvReader
get, getHeader, getLineNumber, getRowNumber, getUntokenizedRow, length
-
Constructor Details
-
CsvMapReader
Constructs a new CsvMapReader with the supplied Reader and CSV preferences. Note that the reader will be wrapped in a BufferedReader before accessed.- Parameters:
reader
- the readerpreferences
- the CSV preferences- Throws:
NullPointerException
- if reader or preferences are null
-
CsvMapReader
Constructs a new CsvMapReader with the supplied (custom) Tokenizer and CSV preferences. The tokenizer should be set up with the Reader (CSV input) and CsvPreference beforehand.- Parameters:
tokenizer
- the tokenizerpreferences
- the CSV preferences- Throws:
NullPointerException
- if tokenizer or preferences are null
-
-
Method Details
-
read
Reads a row of a CSV file into a Map, using the supplied name mapping to map column values to the appropriate map entries.- Specified by:
read
in interfaceICsvMapReader
- Parameters:
nameMapping
- an array of Strings linking the CSV columns to their corresponding entry in the Map (the array length should match the number of columns). A null entry in the array indicates that the column should be ignored (e.g. not added to the Map).- Returns:
- a Map of column names to column values (Strings, as no processing is performed), or null if EOF
- Throws:
IOException
- if an I/O error occurred
-
read
Reads a row of a CSV file into a Map, using the supplied name mapping to map column values to the appropriate map entries, and the supplied processors to process the values before adding them to the Map.- Specified by:
read
in interfaceICsvMapReader
- Parameters:
nameMapping
- an array of Strings linking the CSV columns to their corresponding entry in the Map (the array length should match the number of columns). A null entry in the array indicates that the column should be ignored (e.g. not added to the Map).processors
- an array of CellProcessors used to further process data before it is added to the Map (each element in the processors array corresponds with a CSV column - the number of processors should match the number of columns). A null entry indicates no further processing is required (the unprocessed String value will added to the Map).- Returns:
- a Map of column names to column values, or null if EOF
- Throws:
IOException
- if an I/O error occurred
-