Class CsvWriter

java.lang.Object
org.aoju.bus.office.csv.CsvWriter
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public final class CsvWriter extends Object implements Closeable, Flushable
CSV数据写出器
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • CsvWriter

      public CsvWriter(String filePath)
      构造,覆盖已有文件(如果存在),默认编码UTF-8
      Parameters:
      filePath - File CSV文件路径
    • CsvWriter

      public CsvWriter(File file)
      构造,覆盖已有文件(如果存在),默认编码UTF-8
      Parameters:
      file - File CSV文件
    • CsvWriter

      public CsvWriter(String filePath, Charset charset)
      构造,覆盖已有文件(如果存在)
      Parameters:
      filePath - File CSV文件路径
      charset - 编码
    • CsvWriter

      public CsvWriter(File file, Charset charset)
      构造,覆盖已有文件(如果存在)
      Parameters:
      file - File CSV文件
      charset - 编码
    • CsvWriter

      public CsvWriter(String filePath, Charset charset, boolean isAppend)
      构造
      Parameters:
      filePath - File CSV文件路径
      charset - 编码
      isAppend - 是否追加
    • CsvWriter

      public CsvWriter(File file, Charset charset, boolean isAppend)
      构造
      Parameters:
      file - CSV文件
      charset - 编码
      isAppend - 是否追加
    • CsvWriter

      public CsvWriter(String filePath, Charset charset, boolean isAppend, CsvWriteConfig config)
      构造
      Parameters:
      filePath - CSV文件路径
      charset - 编码
      isAppend - 是否追加
      config - 写出配置,null则使用默认配置
    • CsvWriter

      public CsvWriter(File file, Charset charset, boolean isAppend, CsvWriteConfig config)
      构造
      Parameters:
      file - CSV文件
      charset - 编码
      isAppend - 是否追加
      config - 写出配置,null则使用默认配置
    • CsvWriter

      public CsvWriter(Writer writer)
      构造,使用默认配置
      Parameters:
      writer - Writer
    • CsvWriter

      public CsvWriter(Writer writer, CsvWriteConfig config)
      构造
      Parameters:
      writer - Writer
      config - 写出配置,null则使用默认配置
  • Method Details

    • setAlwaysDelimitText

      public void setAlwaysDelimitText(boolean alwaysDelimitText)
      设置是否始终使用文本分隔符,文本包装符,默认false,按需添加
      Parameters:
      alwaysDelimitText - 是否始终使用文本分隔符,文本包装符,默认false,按需添加
    • setLineDelimiter

      public void setLineDelimiter(char[] lineDelimiter)
      设置换行符
      Parameters:
      lineDelimiter - 换行符
    • write

      public CsvWriter write(String[]... lines) throws org.aoju.bus.core.exception.InternalException
      将多行写出到Writer
      Parameters:
      lines - 多行数据
      Returns:
      this
      Throws:
      org.aoju.bus.core.exception.InternalException - IO异常
    • write

      public CsvWriter write(Iterable<?> lines)
      将多行写出到Writer
      Parameters:
      lines - 多行数据,每行数据可以是集合或者数组
      Returns:
      this
    • write

      public CsvWriter write(CsvData csvData)
      将一个 CsvData 集合写出到Writer
      Parameters:
      csvData - CsvData
      Returns:
      this
    • writeBeans

      public CsvWriter writeBeans(Collection<?> beans)
      将一个Bean集合写出到Writer,并自动生成表头
      Parameters:
      beans - Bean集合
      Returns:
      this
    • writeLine

      public CsvWriter writeLine(String... fields) throws org.aoju.bus.core.exception.InternalException
      写出一行
      Parameters:
      fields - 字段列表 (null 值会被做为空值追加)
      Returns:
      this
      Throws:
      org.aoju.bus.core.exception.InternalException - IO异常
    • writeLine

      public CsvWriter writeLine() throws org.aoju.bus.core.exception.InternalException
      追加新行(换行)
      Returns:
      this
      Throws:
      org.aoju.bus.core.exception.InternalException - IO异常
    • writeComment

      public CsvWriter writeComment(String comment)
      写出一行注释,注释符号可自定义 如果注释符不存在,则抛出异常
      Parameters:
      comment - 注释内容
      Returns:
      this
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • flush

      public void flush() throws org.aoju.bus.core.exception.InternalException
      Specified by:
      flush in interface Flushable
      Throws:
      org.aoju.bus.core.exception.InternalException
    • writeHeaderLine

      public CsvWriter writeHeaderLine(String... fields) throws org.aoju.bus.core.exception.InternalException
      写出一行头部行,支持标题别名
      Parameters:
      fields - 字段列表 (null 值会被做为空值追加
      Returns:
      this
      Throws:
      org.aoju.bus.core.exception.InternalException - IO异常