com.csvreader

Class CsvWriter


public class CsvWriter
extends java.lang.Object

A stream based writer for writing delimited text data to a file or a stream.

Field Summary

static int
ESCAPE_MODE_BACKSLASH
Use a backslash character before the text qualifier to represent an occurance of the text qualifier.
static int
ESCAPE_MODE_DOUBLED
Double up the text qualifier to represent an occurance of the text qualifier.

Constructor Summary

CsvWriter(OutputStream outputStream, char delimiter, Charset charset)
Creates a CsvWriter object using an OutputStream to write data to.
CsvWriter(String fileName)
Creates a CsvWriter object using a file as the data destination. Uses a comma as the column delimiter and ISO-8859-1 as the Charset.
CsvWriter(String fileName, char delimiter, Charset charset)
Creates a CsvWriter object using a file as the data destination.
CsvWriter(Writer outputStream, char delimiter)
Creates a CsvWriter object using a Writer to write data to.

Method Summary

void
close()
Closes and releases all related resources.
void
endRecord()
Ends the current record by sending the record delimiter.
protected void
finalize()
void
flush()
Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.
char
getComment()
char
getDelimiter()
Gets the character being used as the column delimiter.
int
getEscapeMode()
boolean
getForceQualifier()
Whether fields will be surrounded by the text qualifier even if the qualifier is not necessarily needed to escape this field.
char
getRecordDelimiter()
char
getTextQualifier()
Gets the character to use as a text qualifier in the data.
boolean
getUseTextQualifier()
Whether text qualifiers will be used while writing data or not.
static String
replace(String original, String pattern, String replace)
void
setComment(char comment)
void
setDelimiter(char delimiter)
Sets the character to use as the column delimiter.
void
setEscapeMode(int escapeMode)
void
setForceQualifier(boolean forceQualifier)
Use this to force all fields to be surrounded by the text qualifier even if the qualifier is not necessarily needed to escape this field.
void
setRecordDelimiter(char recordDelimiter)
Sets the character to use as the record delimiter.
void
setTextQualifier(char textQualifier)
Sets the character to use as a text qualifier in the data.
void
setUseTextQualifier(boolean useTextQualifier)
Sets whether text qualifiers will be used while writing data or not.
void
write(String content)
Writes another column of data to this record. Does not preserve leading and trailing whitespace in this column of data.
void
write(String content, boolean preserveSpaces)
Writes another column of data to this record.
void
writeComment(String commentText)
void
writeRecord(String[] values)
Writes a new record using the passed in array of values.
void
writeRecord(String[] values, boolean preserveSpaces)
Writes a new record using the passed in array of values.

Field Details

ESCAPE_MODE_BACKSLASH

public static final int ESCAPE_MODE_BACKSLASH
Use a backslash character before the text qualifier to represent an occurance of the text qualifier.
Field Value:
2

ESCAPE_MODE_DOUBLED

public static final int ESCAPE_MODE_DOUBLED
Double up the text qualifier to represent an occurance of the text qualifier.
Field Value:
1

Constructor Details

CsvWriter

public CsvWriter(OutputStream outputStream,
                 char delimiter,
                 Charset charset)
Creates a CsvWriter object using an OutputStream to write data to.
Parameters:
outputStream - The stream to write the column delimited data to.
delimiter - The character to use as the column delimiter.
charset - The Charset to use while writing the data.

CsvWriter

public CsvWriter(String fileName)
Creates a CsvWriter object using a file as the data destination. Uses a comma as the column delimiter and ISO-8859-1 as the Charset.
Parameters:
fileName - The path to the file to output the data.

CsvWriter

public CsvWriter(String fileName,
                 char delimiter,
                 Charset charset)
Creates a CsvWriter object using a file as the data destination.
Parameters:
fileName - The path to the file to output the data.
delimiter - The character to use as the column delimiter.
charset - The Charset to use while writing the data.

CsvWriter

public CsvWriter(Writer outputStream,
                 char delimiter)
Creates a CsvWriter object using a Writer to write data to.
Parameters:
outputStream - The stream to write the column delimited data to.
delimiter - The character to use as the column delimiter.

Method Details

close

public void close()
Closes and releases all related resources.

endRecord

public void endRecord()
            throws IOException
Ends the current record by sending the record delimiter.

finalize

protected void finalize()

flush

public void flush()
Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.

getComment

public char getComment()

getDelimiter

public char getDelimiter()
Gets the character being used as the column delimiter.
Returns:
The character being used as the column delimiter.

getEscapeMode

public int getEscapeMode()

getForceQualifier

public boolean getForceQualifier()
Whether fields will be surrounded by the text qualifier even if the qualifier is not necessarily needed to escape this field.
Returns:
Whether fields will be forced to be qualified or not.

getRecordDelimiter

public char getRecordDelimiter()

getTextQualifier

public char getTextQualifier()
Gets the character to use as a text qualifier in the data.
Returns:
The character to use as a text qualifier in the data.

getUseTextQualifier

public boolean getUseTextQualifier()
Whether text qualifiers will be used while writing data or not.
Returns:
Whether text qualifiers will be used while writing data or not.

replace

public static String replace(String original,
                             String pattern,
                             String replace)

setComment

public void setComment(char comment)

setDelimiter

public void setDelimiter(char delimiter)
Sets the character to use as the column delimiter.
Parameters:
delimiter - The character to use as the column delimiter.

setEscapeMode

public void setEscapeMode(int escapeMode)

setForceQualifier

public void setForceQualifier(boolean forceQualifier)
Use this to force all fields to be surrounded by the text qualifier even if the qualifier is not necessarily needed to escape this field. Default is false.
Parameters:
forceQualifier - Whether to force the fields to be qualified or not.

setRecordDelimiter

public void setRecordDelimiter(char recordDelimiter)
Sets the character to use as the record delimiter.
Parameters:
recordDelimiter - The character to use as the record delimiter. Default is combination of standard end of line characters for Windows, Unix, or Mac.

setTextQualifier

public void setTextQualifier(char textQualifier)
Sets the character to use as a text qualifier in the data.
Parameters:
textQualifier - The character to use as a text qualifier in the data.

setUseTextQualifier

public void setUseTextQualifier(boolean useTextQualifier)
Sets whether text qualifiers will be used while writing data or not.
Parameters:
useTextQualifier - Whether to use a text qualifier while writing data or not.

write

public void write(String content)
            throws IOException
Writes another column of data to this record. Does not preserve leading and trailing whitespace in this column of data.
Parameters:
content - The data for the new column.

write

public void write(String content,
                  boolean preserveSpaces)
            throws IOException
Writes another column of data to this record.
Parameters:
content - The data for the new column.
preserveSpaces - Whether to preserve leading and trailing whitespace in this column of data.

writeComment

public void writeComment(String commentText)
            throws IOException

writeRecord

public void writeRecord(String[] values)
            throws IOException
Writes a new record using the passed in array of values.
Parameters:
values - Values to be written.

writeRecord

public void writeRecord(String[] values,
                        boolean preserveSpaces)
            throws IOException
Writes a new record using the passed in array of values.
Parameters:
values - Values to be written.
preserveSpaces - Whether to preserver leading and trailing spaces in columns while writing out to the record or not.