public class CsvWriter extends AbstractWriter<CsvWriterSettings>
CsvFormat
,
CsvWriterSettings
,
CsvParser
,
AbstractWriter
Modifier and Type | Field and Description |
---|---|
private char |
delimiter |
private boolean |
dontProcessNormalizedNewLines |
private char |
escapeChar |
private char |
escapeEscape |
private boolean |
escapeUnquoted |
private boolean |
inputNotEscaped |
private char |
maxTrigger |
private char[] |
multiDelimiter |
private char |
newLine |
private boolean[] |
quotationTriggers |
private boolean |
quoteAllFields |
private char |
quoteChar |
private java.util.Set<java.lang.Integer> |
quotedColumns |
private FieldSelector |
quotedFieldSelector |
appender, emptyValue, expandRows, headers, headerTrimFlags, ignoreLeading, ignoreTrailing, nullValue, recordCount, usingNullOrEmptyValue, whitespaceRangeStart, writingHeaders
Constructor and Description |
---|
CsvWriter(CsvWriterSettings settings)
The CsvWriter supports all settings provided by
CsvWriterSettings , and requires this configuration to be properly initialized. |
CsvWriter(java.io.File file,
java.nio.charset.Charset encoding,
CsvWriterSettings settings)
The CsvWriter supports all settings provided by
CsvWriterSettings , and requires this configuration to be properly initialized. |
CsvWriter(java.io.File file,
CsvWriterSettings settings)
The CsvWriter supports all settings provided by
CsvWriterSettings , and requires this configuration to be properly initialized. |
CsvWriter(java.io.File file,
java.lang.String encoding,
CsvWriterSettings settings)
The CsvWriter supports all settings provided by
CsvWriterSettings , and requires this configuration to be properly initialized. |
CsvWriter(java.io.OutputStream output,
java.nio.charset.Charset encoding,
CsvWriterSettings settings)
The CsvWriter supports all settings provided by
CsvWriterSettings , and requires this configuration to be properly initialized. |
CsvWriter(java.io.OutputStream output,
CsvWriterSettings settings)
The CsvWriter supports all settings provided by
CsvWriterSettings , and requires this configuration to be properly initialized. |
CsvWriter(java.io.OutputStream output,
java.lang.String encoding,
CsvWriterSettings settings)
The CsvWriter supports all settings provided by
CsvWriterSettings , and requires this configuration to be properly initialized. |
CsvWriter(java.io.Writer writer,
CsvWriterSettings settings)
The CsvWriter supports all settings provided by
CsvWriterSettings , and requires this configuration to be properly initialized. |
Modifier and Type | Method and Description |
---|---|
private boolean |
append(boolean isElementQuoted,
boolean allowTrim,
java.lang.String element) |
private void |
appendQuoted(int start,
boolean allowTrim,
java.lang.String element) |
protected void |
initialize(CsvWriterSettings settings)
Initializes the CSV writer with CSV-specific configuration
|
private boolean |
matchMultiDelimiter(java.lang.String element,
int from) |
protected void |
processRow(java.lang.Object[] row)
Format-specific implementation for writing a single record into the output.
|
private boolean |
quoteElement(int start,
java.lang.String element) |
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
private char delimiter
private char[] multiDelimiter
private char quoteChar
private char escapeChar
private char escapeEscape
private boolean quoteAllFields
private boolean escapeUnquoted
private boolean inputNotEscaped
private char newLine
private boolean dontProcessNormalizedNewLines
private boolean[] quotationTriggers
private char maxTrigger
private java.util.Set<java.lang.Integer> quotedColumns
private FieldSelector quotedFieldSelector
public CsvWriter(CsvWriterSettings settings)
CsvWriterSettings
, 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.
settings
- the CSV writer configurationpublic CsvWriter(java.io.Writer writer, CsvWriterSettings settings)
CsvWriterSettings
, and requires this configuration to be properly initialized.writer
- the output resource that will receive CSV records produced by this class.settings
- the CSV writer configurationpublic CsvWriter(java.io.File file, CsvWriterSettings settings)
CsvWriterSettings
, and requires this configuration to be properly initialized.file
- the output file that will receive CSV records produced by this class.settings
- the CSV writer configurationpublic CsvWriter(java.io.File file, java.lang.String encoding, CsvWriterSettings settings)
CsvWriterSettings
, and requires this configuration to be properly initialized.file
- the output file that will receive CSV records produced by this class.encoding
- the encoding of the filesettings
- the CSV writer configurationpublic CsvWriter(java.io.File file, java.nio.charset.Charset encoding, CsvWriterSettings settings)
CsvWriterSettings
, and requires this configuration to be properly initialized.file
- the output file that will receive CSV records produced by this class.encoding
- the encoding of the filesettings
- the CSV writer configurationpublic CsvWriter(java.io.OutputStream output, CsvWriterSettings settings)
CsvWriterSettings
, and requires this configuration to be properly initialized.output
- the output stream that will be written with the CSV records produced by this class.settings
- the CSV writer configurationpublic CsvWriter(java.io.OutputStream output, java.lang.String encoding, CsvWriterSettings settings)
CsvWriterSettings
, and requires this configuration to be properly initialized.output
- the output stream that will be written with the CSV records produced by this class.encoding
- the encoding of the streamsettings
- the CSV writer configurationpublic CsvWriter(java.io.OutputStream output, java.nio.charset.Charset encoding, CsvWriterSettings settings)
CsvWriterSettings
, and requires this configuration to be properly initialized.output
- the output stream that will be written with the CSV records produced by this class.encoding
- the encoding of the streamsettings
- the CSV writer configurationprotected final void initialize(CsvWriterSettings settings)
initialize
in class AbstractWriter<CsvWriterSettings>
settings
- the CSV writer configurationprotected void processRow(java.lang.Object[] row)
AbstractWriter
RowWriterProcessor
).
It then delegates the record to the writer-specific implementation defined by AbstractWriter.processRow(Object[])
. In general, an implementation of AbstractWriter.processRow(Object[])
will perform the following steps:
AbstractWriter.appender
object. The an individual value is processed, the AbstractWriter.appendValueToRow()
method must be called.
This will clear the accumulated value in AbstractWriter.appender
and add it to the output row.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 a
FixedWidthWriter
whose FixedWidthWriterSettings.getWriteLineSeparatorAfterRecord()
evaluates to false
. The newline character sequence will conform to what is specified in Format.getLineSeparator()
This cycle repeats until the writing process is stopped by the user or an error happens.
In case of errors, the unchecked exception TextWritingException
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.processRow
in class AbstractWriter<CsvWriterSettings>
row
- the data to be written to the output in the expected format.CharAppender
,
CommonWriterSettings
private boolean matchMultiDelimiter(java.lang.String element, int from)
private boolean quoteElement(int start, java.lang.String element)
private boolean append(boolean isElementQuoted, boolean allowTrim, java.lang.String element)
private void appendQuoted(int start, boolean allowTrim, java.lang.String element)