Class CsvWriter
java.lang.Object
cloud.opencode.base.csv.stream.CsvWriter
- All Implemented Interfaces:
AutoCloseable
Streaming CSV Writer - Incremental Row-by-Row Writing
流式 CSV 写入器 - 逐行增量写入
Writes CSV data incrementally to a Writer, formatting each row as it is written. Supports fluent API for convenient chaining.
增量地将 CSV 数据写入 Writer,在写入时格式化每一行。 支持流畅 API 以便于链式调用。
Usage | 使用方式:
try (CsvWriter writer = CsvWriter.of(path, CsvConfig.DEFAULT)) {
writer.writeHeader("name", "age", "city")
.writeRow("Alice", "30", "Beijing")
.writeRow("Bob", "25", "Shanghai");
}
Security | 安全性:
- Thread-safe: No (single-threaded sequential access) - 线程安全: 否(单线程顺序访问)
- Applies formula injection protection if configured - 如果配置了则应用公式注入防护
- Since:
- JDK 25, opencode-base-csv V1.0.3
- Author:
- Leon Soo
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Flushes and closes the underlying writer.voidflush()Flushes the underlying writer.static CsvWriterof(OutputStream output, CsvConfig config) Creates a CsvWriter from an OutputStream.static CsvWriterCreates a CsvWriter from a Writer.static CsvWriterCreates a CsvWriter from a file Path.writeDocument(CsvDocument doc) Writes a complete CsvDocument (headers + all rows).writeHeader(String... headers) Writes a header row.writeHeader(List<String> headers) Writes a header row.Writes a data row from a CsvRow.Writes a data row from varargs.Writes a data row from a list of field values.
-
Constructor Details
-
CsvWriter
-
-
Method Details
-
of
Creates a CsvWriter from an OutputStream. 从 OutputStream 创建 CsvWriter。- Parameters:
output- the output stream - 输出流config- the CSV configuration - CSV 配置- Returns:
- a new CsvWriter - 新的 CsvWriter
-
of
-
of
-
writeHeader
Writes a header row. 写入标题行。- Parameters:
headers- the header field names - 标题字段名- Returns:
- this writer for fluent chaining - 此写入器,用于流畅链式调用
- Throws:
CsvWriteException- if writing fails - 如果写入失败
-
writeHeader
Writes a header row. 写入标题行。- Parameters:
headers- the header field names - 标题字段名列表- Returns:
- this writer for fluent chaining - 此写入器,用于流畅链式调用
- Throws:
CsvWriteException- if writing fails - 如果写入失败
-
writeRow
Writes a data row from varargs. 从可变参数写入数据行。- Parameters:
fields- the field values - 字段值- Returns:
- this writer for fluent chaining - 此写入器,用于流畅链式调用
- Throws:
CsvWriteException- if writing fails - 如果写入失败
-
writeRow
Writes a data row from a CsvRow. 从 CsvRow 写入数据行。- Parameters:
row- the row to write - 要写入的行- Returns:
- this writer for fluent chaining - 此写入器,用于流畅链式调用
- Throws:
CsvWriteException- if writing fails - 如果写入失败
-
writeRow
Writes a data row from a list of field values. 从字段值列表写入数据行。- Parameters:
fields- the field values - 字段值列表- Returns:
- this writer for fluent chaining - 此写入器,用于流畅链式调用
- Throws:
CsvWriteException- if writing fails - 如果写入失败
-
writeDocument
Writes a complete CsvDocument (headers + all rows). 写入完整的 CsvDocument(标题 + 所有行)。- Parameters:
doc- the document to write - 要写入的文档- Returns:
- this writer for fluent chaining - 此写入器,用于流畅链式调用
- Throws:
CsvWriteException- if writing fails - 如果写入失败
-
flush
public void flush()Flushes the underlying writer. 刷新底层写入器。- Throws:
CsvWriteException- if flushing fails - 如果刷新失败
-
close
public void close()Flushes and closes the underlying writer. 刷新并关闭底层写入器。- Specified by:
closein interfaceAutoCloseable
-