Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
Chapter 332. uniVocity Fixed Length DataFormat
Available as of Camel version 2.15
This Data Format uses uniVocity-parsers for reading and writing 3 kinds of tabular data text files:
- CSV (Comma Separated Values), where the values are separated by a symbol (usually a comma)
- fixed-width, where the values have known sizes
- TSV (Tabular Separated Values), where the fields are separated by a tabulation
Thus there are 3 data formats based on uniVocity-parsers.
If you use Maven you can just add the following to your pom.xml, substituting the version number for the latest and greatest release (see the download page for the latest versions).
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-univocity-parsers</artifactId>
    <version>x.x.x</version>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-univocity-parsers</artifactId>
    <version>x.x.x</version>
</dependency>332.1. Options
Most configuration options of the uniVocity-parsers are available in the data formats. If you want more information about a particular option, please refer to their documentation page.
The 3 data formats share common options and have dedicated ones, this section presents them all.
332.2. Options
The uniVocity Fixed Length dataformat supports 17 options which are listed below.
| Name | Default | Java Type | Description | 
|---|---|---|---|
| skipTrailingCharsUntilNewline | 
								 | 
								 | Whether or not the trailing characters until new line must be ignored. The default value is false | 
| recordEndsOnNewline | 
								 | 
								 | Whether or not the record ends on new line. The default value is false | 
| padding | 
								 | The padding character. The default value is a space | |
| nullValue | 
								 | The string representation of a null value. The default value is null | |
| skipEmptyLines | 
								 | 
								 | Whether or not the empty lines must be ignored. The default value is true | 
| ignoreTrailingWhitespaces | 
								 | 
								 | Whether or not the trailing white spaces must ignored. The default value is true | 
| ignoreLeadingWhitespaces | 
								 | 
								 | Whether or not the leading white spaces must be ignored. The default value is true | 
| headersDisabled | 
								 | 
								 | Whether or not the headers are disabled. When defined, this option explicitly sets the headers as null which indicates that there is no header. The default value is false | 
| headerExtractionEnabled | 
								 | 
								 | Whether or not the header must be read in the first line of the test document The default value is false | 
| numberOfRecordsToRead | 
								 | The maximum number of record to read. | |
| emptyValue | 
								 | The String representation of an empty value | |
| lineSeparator | 
								 | The line separator of the files The default value is to use the JVM platform line separator | |
| normalizedLineSeparator | 
								 | The normalized line separator of the files The default value is a new line character. | |
| comment | 
								 | 
								 | The comment symbol. The default value is | 
| lazyLoad | 
								 | 
								 | Whether the unmarshalling should produce an iterator that reads the lines on the fly or if all the lines must be read at one. The default value is false | 
| asMap | 
								 | 
								 | Whether the unmarshalling should produce maps for the lines values instead of lists. It requires to have header (either defined or collected). The default value is false | 
| contentTypeHeader | 
								 | 
								 | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | 
332.3. Marshalling usages
The marshalling accepts either:
- A list of maps (L`ist<Map<String, ?>>`), one for each line
- 
						A single map (Map<String, ?>), for a single line
Any other body will throws an exception.
332.3.1. Usage example: marshalling a Map into CSV format
332.3.2. Usage example: marshalling a Map into fixed-width format
332.3.3. Usage example: marshalling a Map into TSV format
332.4. Unmarshalling usages
				The unmarshalling uses an InputStream in order to read the data.
			
Each row produces either:
- 
						a list with all the values in it (asMapoption withfalse);
- 
						A map with all the values indexed by the headers (asMapoption withtrue).
All the rows can either:
- 
						be collected at once into a list (lazyLoadoption withfalse);
- 
						be read on the fly using an iterator (lazyLoadoption withtrue).