Package com.univocity.parsers.fixed
Class FixedWidthWriter
- java.lang.Object
-
- com.univocity.parsers.common.AbstractWriter<FixedWidthWriterSettings>
-
- com.univocity.parsers.fixed.FixedWidthWriter
-
public class FixedWidthWriter extends AbstractWriter<FixedWidthWriterSettings>
A fast and flexible fixed-with writer implementation.
-
-
Field Summary
Fields Modifier and Type Field Description private FieldAlignment
alignment
private FieldAlignment
defaultHeaderAlignment
private boolean
defaultHeaderPadding
private char
defaultPadding
private FieldAlignment[]
fieldAlignments
private int[]
fieldLengths
private char[]
fieldPaddings
private boolean[]
ignore
private int
ignoreCount
private int
length
private Lookup[]
lookaheadFormats
private Lookup
lookbehindFormat
private Lookup[]
lookbehindFormats
private char[]
lookupChars
private char
padding
private FieldAlignment[]
rootAlignments
private boolean[]
rootIgnore
private int[]
rootLengths
private char[]
rootPaddings
-
Fields inherited from class com.univocity.parsers.common.AbstractWriter
appender, comment, emptyValue, expandRows, headers, headerTrimFlags, ignoreLeading, ignoreTrailing, nullValue, recordCount, usingNullOrEmptyValue, whitespaceRangeStart, writingHeaders
-
-
Constructor Summary
Constructors Constructor Description FixedWidthWriter(FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.FixedWidthWriter(java.io.File file, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.FixedWidthWriter(java.io.File file, java.lang.String encoding, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.FixedWidthWriter(java.io.File file, java.nio.charset.Charset encoding, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.FixedWidthWriter(java.io.OutputStream output, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.FixedWidthWriter(java.io.OutputStream output, java.lang.String encoding, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.FixedWidthWriter(java.io.OutputStream output, java.nio.charset.Charset encoding, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.FixedWidthWriter(java.io.Writer writer, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
append(java.lang.String element, boolean allowTrim)
protected void
initialize(FixedWidthWriterSettings settings)
Initializes the Fixed-Width writer with CSV-specific configurationprivate void
processElement(java.lang.String element, boolean allowTrim)
protected void
processRow(java.lang.Object[] row)
Format-specific implementation for writing a single record into the output.-
Methods inherited from class com.univocity.parsers.common.AbstractWriter
addStringValues, addValue, addValue, addValue, addValues, addValues, allowTrim, appendToRow, appendToRow, appendValueToRow, close, commentRow, commentRowToString, discardValues, enableNewlineAfterRecord, expand, flush, getRecordCount, getStringValue, processObjectRecords, processObjectRecordsAndClose, processObjectRecordsAndClose, processObjectRecordsToString, processObjectRecordsToString, processRecord, processRecord, processRecord, processRecord, processRecord, processRecords, processRecords, processRecords, processRecords, processRecords, processRecordsAndClose, processRecordsAndClose, processRecordsAndClose, processRecordsAndClose, processRecordsToString, processRecordsToString, processRecordsToString, processRecordsToString, processRecordToString, processRecordToString, processRecordToString, processRecordToString, processRecordToString, processValuesToRow, processValuesToString, skipLeadingWhitespace, updateFieldExclusion, updateFieldExclusion, updateFieldSelection, updateFieldSelection, writeEmptyRow, writeHeaders, writeHeaders, writeHeaders, writeHeadersToString, writeHeadersToString, writeHeadersToString, writeObjectRows, writeObjectRowsAndClose, writeObjectRowsAndClose, writeObjectRowsToString, writeRecord, writeRecords, writeRecords, writeRecordsAndClose, writeRecordsAndClose, writeRecordsAndClose, writeRecordsToString, writeRecordsToString, writeRecordToString, writeRow, writeRow, writeRow, writeRow, writeRow, writeRow, writeRows, writeRows, writeRows, writeRows, writeRows, writeRowsAndClose, writeRowsAndClose, writeRowsAndClose, writeRowsAndClose, writeRowsAndClose, writeRowsToString, writeRowsToString, writeRowsToString, writeRowsToString, writeRowsToString, writeRowToString, writeRowToString, writeRowToString, writeRowToString, writeRowToString, writeStringRows, writeStringRows, writeStringRows, writeStringRowsAndClose, writeStringRowsAndClose, writeStringRowsAndClose, writeStringRowsToString, writeStringRowsToString, writeStringRowsToString, writeValuesToRow, writeValuesToString
-
-
-
-
Field Detail
-
fieldLengths
private int[] fieldLengths
-
fieldAlignments
private FieldAlignment[] fieldAlignments
-
fieldPaddings
private char[] fieldPaddings
-
padding
private char padding
-
defaultPadding
private char defaultPadding
-
length
private int length
-
alignment
private FieldAlignment alignment
-
lookaheadFormats
private Lookup[] lookaheadFormats
-
lookbehindFormats
private Lookup[] lookbehindFormats
-
lookupChars
private char[] lookupChars
-
lookbehindFormat
private Lookup lookbehindFormat
-
rootLengths
private int[] rootLengths
-
rootAlignments
private FieldAlignment[] rootAlignments
-
ignore
private boolean[] ignore
-
rootIgnore
private boolean[] rootIgnore
-
ignoreCount
private int ignoreCount
-
rootPaddings
private char[] rootPaddings
-
defaultHeaderPadding
private boolean defaultHeaderPadding
-
defaultHeaderAlignment
private FieldAlignment defaultHeaderAlignment
-
-
Constructor Detail
-
FixedWidthWriter
public FixedWidthWriter(FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.Important: by not providing an instance of
Writer
to this constructor, only the operations that write to Strings are available.- Parameters:
settings
- the fixed-width writer configuration
-
FixedWidthWriter
public FixedWidthWriter(java.io.Writer writer, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.- Parameters:
writer
- the output resource that will receive fixed-width records produced by this class.settings
- the fixed-width writer configuration
-
FixedWidthWriter
public FixedWidthWriter(java.io.File file, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.- Parameters:
file
- the output file that will receive fixed-width records produced by this class.settings
- the fixed-width writer configuration
-
FixedWidthWriter
public FixedWidthWriter(java.io.File file, java.lang.String encoding, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.- Parameters:
file
- the output file that will receive fixed-width records produced by this class.encoding
- the encoding of the filesettings
- the fixed-width writer configuration
-
FixedWidthWriter
public FixedWidthWriter(java.io.File file, java.nio.charset.Charset encoding, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.- Parameters:
file
- the output file that will receive fixed-width records produced by this class.encoding
- the encoding of the filesettings
- the fixed-width writer configuration
-
FixedWidthWriter
public FixedWidthWriter(java.io.OutputStream output, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.- Parameters:
output
- the output stream that will be written with the fixed-width records produced by this class.settings
- the fixed-width writer configuration
-
FixedWidthWriter
public FixedWidthWriter(java.io.OutputStream output, java.lang.String encoding, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.- Parameters:
output
- the output stream that will be written with the fixed-width records produced by this class.encoding
- the encoding of the streamsettings
- the fixed-width writer configuration
-
FixedWidthWriter
public FixedWidthWriter(java.io.OutputStream output, java.nio.charset.Charset encoding, FixedWidthWriterSettings settings)
The FixedWidthWriter supports all settings provided byFixedWidthWriterSettings
, and requires this configuration to be properly initialized.- Parameters:
output
- the output stream that will be written with the fixed-width records produced by this class.encoding
- the encoding of the streamsettings
- the fixed-width writer configuration
-
-
Method Detail
-
initialize
protected final void initialize(FixedWidthWriterSettings settings)
Initializes the Fixed-Width writer with CSV-specific configuration- Specified by:
initialize
in classAbstractWriter<FixedWidthWriterSettings>
- Parameters:
settings
- the Fixed-Width writer configuration
-
processRow
protected void processRow(java.lang.Object[] row)
Description copied from class:AbstractWriter
Format-specific implementation for writing a single record into the output. The AbstractWriter handles the initialization and processing of the output until it is ready to be written (generally, reorganizing it and passing it on to aRowWriterProcessor
). It then delegates the record to the writer-specific implementation defined byAbstractWriter.processRow(Object[])
. In general, an implementation ofAbstractWriter.processRow(Object[])
will perform the following steps:- Iterate over each object in the given input and convert it to the expected String representation.
- The conversion must happen using the provided
AbstractWriter.appender
object. The an individual value is processed, theAbstractWriter.appendValueToRow()
method must be called. This will clear the accumulated value inAbstractWriter.appender
and add it to the output row. - Format specific separators and other characters must be introduced to the output row using
AbstractWriter.appendToRow(char)
AbstractWriter.processRow(Object[])
method returns, a row will be written to the output with the processed information, and a newline will be automatically written after the given contents, unless this is aFixedWidthWriter
whoseFixedWidthWriterSettings.getWriteLineSeparatorAfterRecord()
evaluates tofalse
. The newline character sequence will conform to what is specified inFormat.getLineSeparator()
This cycle repeats until the writing process is stopped by the user or an error happens. In case of errors, the unchecked exceptionTextWritingException
will be thrown and all resources in use will be closed automatically. The exception should contain the cause and more information about the output state when the error happened.- Specified by:
processRow
in classAbstractWriter<FixedWidthWriterSettings>
- Parameters:
row
- the data to be written to the output in the expected format.- See Also:
CharAppender
,CommonWriterSettings
-
append
private void append(java.lang.String element, boolean allowTrim)
-
processElement
private void processElement(java.lang.String element, boolean allowTrim)
-
-