Package com.opencsv

Class AbstractCSVWriter

java.lang.Object
com.opencsv.AbstractCSVWriter
All Implemented Interfaces:
ICSVWriter, Closeable, Flushable, AutoCloseable
Direct Known Subclasses:
CSVParserWriter, CSVWriter

public abstract class AbstractCSVWriter extends Object implements ICSVWriter
The AbstractCSVWriter was created to prevent duplication of code between the CSVWriter and the CSVParserWriter classes.
Since:
4.2
  • Field Details

  • Constructor Details

    • AbstractCSVWriter

      protected AbstractCSVWriter(Writer writer, String lineEnd)
      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

      public void writeAll(Iterable<String[]> allLines, boolean applyQuotesToAll)
      Description copied from interface: ICSVWriter
      Writes iterable to a CSV file. The list is assumed to be a String[]
      Specified by:
      writeAll in interface ICSVWriter
      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

      protected void writeColumnNames(ResultSet rs, boolean applyQuotesToAll) throws SQLException
      Writes the column names.
      Parameters:
      rs - ResultSet containing column names.
      applyQuotesToAll - Whether all header names should be quoted.
      Throws:
      SQLException - Thrown by ResultSetHelper.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 interface ICSVWriter
      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

      public void writeNext(String[] nextLine, boolean applyQuotesToAll)
      Description copied from interface: ICSVWriter
      Writes the next line to the file.
      Specified by:
      writeNext in interface ICSVWriter
      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

      public void flush() throws IOException
      Specified by:
      flush in interface Flushable
      Throws:
      IOException
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      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 interface ICSVWriter
      Returns:
      True if the print stream has encountered an error either on the underlying output stream or during a format conversion.
    • getException

      public IOException 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 interface ICSVWriter
      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 using ICSVWriter.checkError().
      Specified by:
      resetError in interface ICSVWriter
    • setResultService

      public void setResultService(ResultSetHelper resultService)
      Description copied from interface: ICSVWriter
      Sets the result service.
      Specified by:
      setResultService in interface ICSVWriter
      Parameters:
      resultService - The ResultSetHelper
    • resultService

      protected ResultSetHelper resultService()
      Lazy resultSetHelper creation.
      Returns:
      Instance of resultSetHelper