From 0c3609193819e0b0066bd6c4cc128795c822a23c Mon Sep 17 00:00:00 2001 From: hellozrh <455741807@qq.com> Date: Mon, 5 Jun 2023 09:37:11 +0800 Subject: [PATCH] =?UTF-8?q?CsvWriter=E5=A6=82=E6=9E=9C=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E4=BA=86append=3Dtrue=EF=BC=8C=E9=BB=98=E8=AE=A4=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=BC=80=E5=90=AFendingLineBreak=3Dtrue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/hutool/poi/csv/CsvWriter.java | 4 ++-- .../dromara/hutool/poi/csv/CsvWriterTest.java | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/hutool-poi/src/main/java/org/dromara/hutool/poi/csv/CsvWriter.java b/hutool-poi/src/main/java/org/dromara/hutool/poi/csv/CsvWriter.java index 73c33b7b4..476111892 100644 --- a/hutool-poi/src/main/java/org/dromara/hutool/poi/csv/CsvWriter.java +++ b/hutool-poi/src/main/java/org/dromara/hutool/poi/csv/CsvWriter.java @@ -137,11 +137,11 @@ public final class CsvWriter implements Closeable, Flushable, Serializable { * * @param file CSV文件 * @param charset 编码 - * @param isAppend 是否追加 + * @param isAppend 是否追加, append=true模式下,endingLineBreak自动设置为true * @param config 写出配置,null则使用默认配置 */ public CsvWriter(final File file, final Charset charset, final boolean isAppend, final CsvWriteConfig config) { - this(FileUtil.getWriter(file, charset, isAppend), config); + this(FileUtil.getWriter(file, charset, isAppend), isAppend?(config==null?CsvWriteConfig.defaultConfig().setEndingLineBreak(true):config.setEndingLineBreak(true)):config); } /** diff --git a/hutool-poi/src/test/java/org/dromara/hutool/poi/csv/CsvWriterTest.java b/hutool-poi/src/test/java/org/dromara/hutool/poi/csv/CsvWriterTest.java index 5fa489f9b..6028f85b5 100644 --- a/hutool-poi/src/test/java/org/dromara/hutool/poi/csv/CsvWriterTest.java +++ b/hutool-poi/src/test/java/org/dromara/hutool/poi/csv/CsvWriterTest.java @@ -63,4 +63,20 @@ public class CsvWriterTest { ); writer.close(); } + + @Test + @Ignore + public void writeAppendTest(){ + final CsvWriter writer = CsvUtil.getWriter( + FileUtil.file("d:/test/writeAppendTest.csv"), + CharsetUtil.CHARSET_GBK, true); + + writer.writeHeaderLine("name", "gender", "address"); + writer.writeLine("张三", "男", "XX市XX区"); + writer.writeLine("李四", "男", "XX市XX区,01号"); + + writer.writeLine("张三2", "男", "XX市XX区"); + writer.writeLine("李四2", "男", "XX市XX区,01号"); + writer.close(); + } }