CsvWriter如果开启了append=true,默认自动开启endingLineBreak=true

This commit is contained in:
Looly 2023-06-06 06:20:59 +08:00
parent af4049d111
commit f63acc6058
2 changed files with 9 additions and 6 deletions

View File

@ -58,7 +58,7 @@ public final class CsvWriter implements Closeable, Flushable, Serializable {
*/
private boolean isFirstLine = true;
// --------------------------------------------------------------------------------------------------- Constructor start
// region ----- Constructors
/**
* 构造覆盖已有文件如果存在默认编码UTF-8
@ -141,7 +141,10 @@ public final class CsvWriter implements Closeable, Flushable, Serializable {
* @param config 写出配置null则使用默认配置
*/
public CsvWriter(final File file, final Charset charset, final boolean isAppend, final CsvWriteConfig config) {
this(FileUtil.getWriter(file, charset, isAppend), isAppend?(config==null?CsvWriteConfig.defaultConfig().setEndingLineBreak(true):config.setEndingLineBreak(true)):config);
this(FileUtil.getWriter(file, charset, isAppend),
// https://gitee.com/dromara/hutool/pulls/1011
isAppend?(config==null?CsvWriteConfig.defaultConfig().setEndingLineBreak(true)
:config.setEndingLineBreak(true)):config);
}
/**
@ -163,7 +166,7 @@ public final class CsvWriter implements Closeable, Flushable, Serializable {
this.writer = (writer instanceof BufferedWriter) ? writer : new BufferedWriter(writer);
this.config = ObjUtil.defaultIfNull(config, CsvWriteConfig::defaultConfig);
}
// --------------------------------------------------------------------------------------------------- Constructor end
// endregion
/**
* 设置是否始终使用文本分隔符文本包装符默认false按需添加

View File

@ -37,7 +37,7 @@ public class CsvWriterTest {
final CsvWriter writer = CsvUtil.getWriter(fileName, CharsetUtil.UTF_8);
final List<String> list = new ArrayList<>();
for (int i = 0; i < 10000; i++) {
list.add(i+"");
list.add(String.valueOf(i));
}
Console.log("{} : {}", fileName, list.size());
for (final String s : list) {
@ -65,11 +65,11 @@ public class CsvWriterTest {
}
@Test
@Ignore
@Disabled
public void writeAppendTest(){
final CsvWriter writer = CsvUtil.getWriter(
FileUtil.file("d:/test/writeAppendTest.csv"),
CharsetUtil.CHARSET_GBK, true);
CharsetUtil.GBK, true);
writer.writeHeaderLine("name", "gender", "address");
writer.writeLine("张三", "", "XX市XX区");