mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
add methods
This commit is contained in:
parent
c3aabfcd14
commit
0a788ba961
@ -143,8 +143,8 @@ public final class CsvWriter implements Closeable, Flushable, Serializable {
|
|||||||
public CsvWriter(final File file, final Charset charset, final boolean isAppend, final CsvWriteConfig config) {
|
public CsvWriter(final File file, final Charset charset, final boolean isAppend, final CsvWriteConfig config) {
|
||||||
this(FileUtil.getWriter(file, charset, isAppend),
|
this(FileUtil.getWriter(file, charset, isAppend),
|
||||||
// https://gitee.com/dromara/hutool/pulls/1011
|
// https://gitee.com/dromara/hutool/pulls/1011
|
||||||
isAppend?(config==null?CsvWriteConfig.defaultConfig().setEndingLineBreak(true)
|
isAppend ? (config == null ? CsvWriteConfig.defaultConfig().setEndingLineBreak(true)
|
||||||
:config.setEndingLineBreak(true)):config);
|
: config.setEndingLineBreak(true)) : config);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -255,14 +255,26 @@ public final class CsvWriter implements Closeable, Flushable, Serializable {
|
|||||||
/**
|
/**
|
||||||
* 将一个Bean集合写出到Writer,并自动生成表头
|
* 将一个Bean集合写出到Writer,并自动生成表头
|
||||||
*
|
*
|
||||||
* @param beans Bean集合
|
* @param beans Bean集合
|
||||||
* @param properties 可选属性列表,空表示全部属性
|
* @param properties 可选属性列表,空表示全部属性
|
||||||
* @return this
|
* @return this
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("resource")
|
|
||||||
public CsvWriter writeBeans(final Iterable<?> beans, final String... properties) {
|
public CsvWriter writeBeans(final Iterable<?> beans, final String... properties) {
|
||||||
|
return writeBeans(beans, true, properties);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将一个Bean集合写出到Writer,并自动生成表头
|
||||||
|
*
|
||||||
|
* @param beans Bean集合
|
||||||
|
* @param writeHeaderLine 是否写出表头,即Bean的字段名称列表作为首行
|
||||||
|
* @param properties 可选属性列表,空表示全部属性
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("resource")
|
||||||
|
public CsvWriter writeBeans(final Iterable<?> beans, final boolean writeHeaderLine, final String... properties) {
|
||||||
if (CollUtil.isNotEmpty(beans)) {
|
if (CollUtil.isNotEmpty(beans)) {
|
||||||
boolean isFirst = true;
|
boolean isFirst = writeHeaderLine;
|
||||||
Map<String, Object> map;
|
Map<String, Object> map;
|
||||||
for (final Object bean : beans) {
|
for (final Object bean : beans) {
|
||||||
map = BeanUtil.beanToMap(bean, properties);
|
map = BeanUtil.beanToMap(bean, properties);
|
||||||
@ -362,7 +374,7 @@ public final class CsvWriter implements Closeable, Flushable, Serializable {
|
|||||||
@SuppressWarnings("resource")
|
@SuppressWarnings("resource")
|
||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
if(this.config.endingLineBreak){
|
if (this.config.endingLineBreak) {
|
||||||
writeLine();
|
writeLine();
|
||||||
}
|
}
|
||||||
IoUtil.closeQuietly(this.writer);
|
IoUtil.closeQuietly(this.writer);
|
||||||
@ -496,9 +508,9 @@ public final class CsvWriter implements Closeable, Flushable, Serializable {
|
|||||||
*/
|
*/
|
||||||
private static boolean isDDEUnsafeChar(final char c) {
|
private static boolean isDDEUnsafeChar(final char c) {
|
||||||
return c == CharUtil.AT ||
|
return c == CharUtil.AT ||
|
||||||
c == CharUtil.PLUS ||
|
c == CharUtil.PLUS ||
|
||||||
c == CharUtil.DASHED ||
|
c == CharUtil.DASHED ||
|
||||||
c == CharUtil.EQUAL;
|
c == CharUtil.EQUAL;
|
||||||
}
|
}
|
||||||
// --------------------------------------------------------------------------------------------------- Private method end
|
// --------------------------------------------------------------------------------------------------- Private method end
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user