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(); + } }