CSV are widely used as interfaces to legacy systems or manual data imports. CSV stands for "Comma Separated Values" (or sometimes "Character Separated Values"). The CSV data format is defined in RFC 4180 but many dialects exist.
Common to all file dialects is its basic structure: The CSV data-format is record-oriented, whereas each record starts on a new textual line. A record is build of a list of values. Keep in mind that not all records must have an equal number of values:
csv := records*
record := values*
The following list contains the CSV aspects the Commons CSV parser supports:
In addition to individually defined dialects, two predefined dialects (strict-csv, and excel-csv) can be set directly.
Example usage:
Reader in = new StringReader("a,b,c");
for (CSVRecord record : CSVFormat.DEFAULT.parse(in)) {
for (String field : record) {
System.out.print("\"" + field + "\", ");
}
System.out.println();
}
| Modifier and Type | Class and Description |
|---|---|
| pack-priv class | Constants
Private constants for this package. |
| public class | CSVException
Signals a CSV exception. |
| public class | CSVFormat
Specifies the format of a CSV file for parsing and writing. |
| public class | CSVParser
Parses CSV files according to the specified format. |
| public class | CSVPrinter
Prints values in a |
| public class | CSVRecord
A CSV record parsed from a CSV file. |
| pack-priv class | ExtendedBufferedReader
A special buffered reader which supports sophisticated read access. |
| pack-priv class | Lexer
Lexical analyzer. |
| pack-priv class | Token
Internal token representation. |
| Modifier and Type | Enum and Description |
|---|---|
| public enum | DuplicateHeaderMode
Determines how duplicate header fields should be handled
if |
| public enum | QuoteMode
Defines quoting behavior. |