Package com.opencsv
Class AbstractCSVWriter
java.lang.Object
com.opencsv.AbstractCSVWriter
- All Implemented Interfaces:
ICSVWriter
,Closeable
,Flushable
,AutoCloseable
- Direct Known Subclasses:
CSVParserWriter
,CSVWriter
The AbstractCSVWriter was created to prevent duplication of code between the CSVWriter and the
CSVParserWriter classes.
- Since:
- 4.2
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected IOException
protected String
protected ResultSetHelper
protected final Writer
Fields inherited from interface com.opencsv.ICSVWriter
DEFAULT_ESCAPE_CHARACTER, DEFAULT_LINE_END, DEFAULT_QUOTE_CHARACTER, DEFAULT_SEPARATOR, INITIAL_STRING_SIZE, NO_ESCAPE_CHARACTER, NO_QUOTE_CHARACTER, RFC4180_LINE_END
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractCSVWriter
(Writer writer, String lineEnd) Constructor to initialize the common values. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Flushes the buffer and checks to see if the there has been an error in the printstream.void
close()
void
flush()
Get latest exception.void
Set the error back to null to be able to check for the next error usingICSVWriter.checkError()
.protected ResultSetHelper
Lazy resultSetHelper creation.void
setResultService
(ResultSetHelper resultService) Sets the result service.void
Writes iterable to a CSV file.int
Writes the entire ResultSet to a CSV file.protected void
writeColumnNames
(ResultSet rs, boolean applyQuotesToAll) Writes the column names.void
Writes the next line to the file.protected abstract void
writeNext
(String[] nextLine, boolean applyQuotesToAll, Appendable appendable) Writes the next line to the file.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.opencsv.ICSVWriter
flushQuietly, writeAll, writeAll, writeAll, writeAll, writeAll, writeNext
-
Field Details
-
writer
-
lineEnd
-
resultService
-
exception
-
-
Constructor Details
-
AbstractCSVWriter
Constructor to initialize the common values.- Parameters:
writer
- Writer used for output of csv data.lineEnd
- String to append at end of data (either "\n" or "\r\n").
-
-
Method Details
-
writeAll
Description copied from interface:ICSVWriter
Writes iterable to a CSV file. The list is assumed to be a String[]- Specified by:
writeAll
in interfaceICSVWriter
- Parameters:
allLines
- an Iterable of String[], with each String[] representing a line of the file.applyQuotesToAll
- true if all values are to be quoted. false if quotes only to be applied to values which contain the separator, escape, quote or new line characters.
-
writeColumnNames
Writes the column names.- Parameters:
rs
- ResultSet containing column names.applyQuotesToAll
- Whether all header names should be quoted.- Throws:
SQLException
- Thrown byResultSetHelper.getColumnNames(java.sql.ResultSet)
-
writeAll
public int writeAll(ResultSet rs, boolean includeColumnNames, boolean trim, boolean applyQuotesToAll) throws SQLException, IOException Description copied from interface:ICSVWriter
Writes the entire ResultSet to a CSV file. The caller is responsible for closing the ResultSet.- Specified by:
writeAll
in interfaceICSVWriter
- Parameters:
rs
- The Result set to write.includeColumnNames
- Include the column names in the output.trim
- Remove spaces from the data before writing.applyQuotesToAll
- Whether all values should be quoted.- Returns:
- Number of lines written - including header.
- Throws:
SQLException
- Thrown by ResultSetHelper.getColumnValues()IOException
- Thrown by ResultSetHelper.getColumnValues()
-
writeNext
Description copied from interface:ICSVWriter
Writes the next line to the file.- Specified by:
writeNext
in interfaceICSVWriter
- Parameters:
nextLine
- A string array with each comma-separated element as a separate entry.applyQuotesToAll
- True if all values are to be quoted. False applies quotes only to values which contain the separator, escape, quote, or new line characters.
-
writeNext
protected abstract void writeNext(String[] nextLine, boolean applyQuotesToAll, Appendable appendable) throws IOException Writes the next line to the file. This method is a fail-fast method that will throw the IOException of the writer supplied to the CSVWriter (if the Writer does not handle the exceptions itself like the PrintWriter class).- Parameters:
nextLine
- a string array with each comma-separated element as a separate entry.applyQuotesToAll
- true if all values are to be quoted. false applies quotes only to values which contain the separator, escape, quote or new line characters.appendable
- Appendable used as buffer.- Throws:
IOException
- Exceptions thrown by the writer supplied to CSVWriter.
-
flush
- Specified by:
flush
in interfaceFlushable
- Throws:
IOException
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
checkError
public boolean checkError()Description copied from interface:ICSVWriter
Flushes the buffer and checks to see if the there has been an error in the printstream.- Specified by:
checkError
in interfaceICSVWriter
- Returns:
- True if the print stream has encountered an error either on the underlying output stream or during a format conversion.
-
getException
Description copied from interface:ICSVWriter
Get latest exception.NOTE: This does not return exception which are caught by underlying writer (PrintWriter) or stream. If you are using this method then consider using a Writer class that throws exceptions.
- Specified by:
getException
in interfaceICSVWriter
- Returns:
- the latest IOException encountered in the print stream either on the underlying output stream or during a format conversion.
-
resetError
public void resetError()Description copied from interface:ICSVWriter
Set the error back to null to be able to check for the next error usingICSVWriter.checkError()
.- Specified by:
resetError
in interfaceICSVWriter
-
setResultService
Description copied from interface:ICSVWriter
Sets the result service.- Specified by:
setResultService
in interfaceICSVWriter
- Parameters:
resultService
- The ResultSetHelper
-
resultService
Lazy resultSetHelper creation.- Returns:
- Instance of resultSetHelper
-