mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-08-18 20:38:02 +08:00
6.x
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
package cn.hutool.poi.csv;
|
||||
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.StringReader;
|
||||
|
||||
public class CsvParserTest {
|
||||
|
||||
@Test
|
||||
public void parseTest1() {
|
||||
StringReader reader = StrUtil.getReader("aaa,b\"bba\",ccc");
|
||||
CsvParser parser = new CsvParser(reader, null);
|
||||
CsvRow row = parser.nextRow();
|
||||
//noinspection ConstantConditions
|
||||
Assert.assertEquals("b\"bba\"", row.getRawList().get(1));
|
||||
IoUtil.close(parser);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseTest2() {
|
||||
StringReader reader = StrUtil.getReader("aaa,\"bba\"bbb,ccc");
|
||||
CsvParser parser = new CsvParser(reader, null);
|
||||
CsvRow row = parser.nextRow();
|
||||
//noinspection ConstantConditions
|
||||
Assert.assertEquals("\"bba\"bbb", row.getRawList().get(1));
|
||||
IoUtil.close(parser);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseTest3() {
|
||||
StringReader reader = StrUtil.getReader("aaa,\"bba\",ccc");
|
||||
CsvParser parser = new CsvParser(reader, null);
|
||||
CsvRow row = parser.nextRow();
|
||||
//noinspection ConstantConditions
|
||||
Assert.assertEquals("bba", row.getRawList().get(1));
|
||||
IoUtil.close(parser);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseTest4() {
|
||||
StringReader reader = StrUtil.getReader("aaa,\"\",ccc");
|
||||
CsvParser parser = new CsvParser(reader, null);
|
||||
CsvRow row = parser.nextRow();
|
||||
//noinspection ConstantConditions
|
||||
Assert.assertEquals("", row.getRawList().get(1));
|
||||
IoUtil.close(parser);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseEscapeTest(){
|
||||
// https://datatracker.ietf.org/doc/html/rfc4180#section-2
|
||||
// 第七条规则
|
||||
StringReader reader = StrUtil.getReader("\"b\"\"bb\"");
|
||||
CsvParser parser = new CsvParser(reader, null);
|
||||
CsvRow row = parser.nextRow();
|
||||
Assert.assertNotNull(row);
|
||||
Assert.assertEquals(1, row.size());
|
||||
Assert.assertEquals("b\"bb", row.get(0));
|
||||
}
|
||||
}
|
||||
205
hutool-poi/src/test/java/cn/hutool/poi/csv/CsvReaderTest.java
Normal file
205
hutool-poi/src/test/java/cn/hutool/poi/csv/CsvReaderTest.java
Normal file
@@ -0,0 +1,205 @@
|
||||
package cn.hutool.poi.csv;
|
||||
|
||||
import cn.hutool.core.annotation.Alias;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.io.resource.ResourceUtil;
|
||||
import cn.hutool.core.lang.Console;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import lombok.Data;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.Ignore;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class CsvReaderTest {
|
||||
|
||||
@Test
|
||||
public void readTest() {
|
||||
CsvReader reader = new CsvReader();
|
||||
CsvData data = reader.read(ResourceUtil.getReader("test.csv", CharsetUtil.CHARSET_UTF_8));
|
||||
Assert.assertEquals("sss,sss", data.getRow(0).get(0));
|
||||
Assert.assertEquals(1, data.getRow(0).getOriginalLineNumber());
|
||||
Assert.assertEquals("性别", data.getRow(0).get(2));
|
||||
Assert.assertEquals("关注\"对象\"", data.getRow(0).get(3));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readMapListTest() {
|
||||
final CsvReader reader = CsvUtil.getReader();
|
||||
final List<Map<String, String>> result = reader.readMapList(
|
||||
ResourceUtil.getUtf8Reader("test_bean.csv"));
|
||||
|
||||
Assert.assertEquals("张三", result.get(0).get("姓名"));
|
||||
Assert.assertEquals("男", result.get(0).get("gender"));
|
||||
Assert.assertEquals("无", result.get(0).get("focus"));
|
||||
Assert.assertEquals("33", result.get(0).get("age"));
|
||||
|
||||
Assert.assertEquals("李四", result.get(1).get("姓名"));
|
||||
Assert.assertEquals("男", result.get(1).get("gender"));
|
||||
Assert.assertEquals("好对象", result.get(1).get("focus"));
|
||||
Assert.assertEquals("23", result.get(1).get("age"));
|
||||
|
||||
Assert.assertEquals("王妹妹", result.get(2).get("姓名"));
|
||||
Assert.assertEquals("女", result.get(2).get("gender"));
|
||||
Assert.assertEquals("特别关注", result.get(2).get("focus"));
|
||||
Assert.assertEquals("22", result.get(2).get("age"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readAliasMapListTest() {
|
||||
final CsvReadConfig csvReadConfig = CsvReadConfig.defaultConfig();
|
||||
csvReadConfig.addHeaderAlias("姓名", "name");
|
||||
|
||||
final CsvReader reader = CsvUtil.getReader(csvReadConfig);
|
||||
final List<Map<String, String>> result = reader.readMapList(
|
||||
ResourceUtil.getUtf8Reader("test_bean.csv"));
|
||||
|
||||
Assert.assertEquals("张三", result.get(0).get("name"));
|
||||
Assert.assertEquals("男", result.get(0).get("gender"));
|
||||
Assert.assertEquals("无", result.get(0).get("focus"));
|
||||
Assert.assertEquals("33", result.get(0).get("age"));
|
||||
|
||||
Assert.assertEquals("李四", result.get(1).get("name"));
|
||||
Assert.assertEquals("男", result.get(1).get("gender"));
|
||||
Assert.assertEquals("好对象", result.get(1).get("focus"));
|
||||
Assert.assertEquals("23", result.get(1).get("age"));
|
||||
|
||||
Assert.assertEquals("王妹妹", result.get(2).get("name"));
|
||||
Assert.assertEquals("女", result.get(2).get("gender"));
|
||||
Assert.assertEquals("特别关注", result.get(2).get("focus"));
|
||||
Assert.assertEquals("22", result.get(2).get("age"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readBeanListTest() {
|
||||
final CsvReader reader = CsvUtil.getReader();
|
||||
final List<TestBean> result = reader.read(
|
||||
ResourceUtil.getUtf8Reader("test_bean.csv"), TestBean.class);
|
||||
|
||||
Assert.assertEquals("张三", result.get(0).getName());
|
||||
Assert.assertEquals("男", result.get(0).getGender());
|
||||
Assert.assertEquals("无", result.get(0).getFocus());
|
||||
Assert.assertEquals(Integer.valueOf(33), result.get(0).getAge());
|
||||
|
||||
Assert.assertEquals("李四", result.get(1).getName());
|
||||
Assert.assertEquals("男", result.get(1).getGender());
|
||||
Assert.assertEquals("好对象", result.get(1).getFocus());
|
||||
Assert.assertEquals(Integer.valueOf(23), result.get(1).getAge());
|
||||
|
||||
Assert.assertEquals("王妹妹", result.get(2).getName());
|
||||
Assert.assertEquals("女", result.get(2).getGender());
|
||||
Assert.assertEquals("特别关注", result.get(2).getFocus());
|
||||
Assert.assertEquals(Integer.valueOf(22), result.get(2).getAge());
|
||||
}
|
||||
|
||||
@Data
|
||||
private static class TestBean {
|
||||
@Alias("姓名")
|
||||
private String name;
|
||||
private String gender;
|
||||
private String focus;
|
||||
private Integer age;
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void readTest2() {
|
||||
final CsvReader reader = CsvUtil.getReader();
|
||||
final CsvData read = reader.read(FileUtil.file("d:/test/test.csv"));
|
||||
for (CsvRow strings : read) {
|
||||
Console.log(strings);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void readTest3() {
|
||||
final CsvReadConfig csvReadConfig = CsvReadConfig.defaultConfig();
|
||||
csvReadConfig.setContainsHeader(true);
|
||||
final CsvReader reader = CsvUtil.getReader(csvReadConfig);
|
||||
final CsvData read = reader.read(FileUtil.file("d:/test/ceshi.csv"));
|
||||
for (CsvRow row : read) {
|
||||
Console.log(row.getByName("案件ID"));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void lineNoTest() {
|
||||
CsvReader reader = new CsvReader();
|
||||
CsvData data = reader.read(ResourceUtil.getReader("test_lines.csv", CharsetUtil.CHARSET_UTF_8));
|
||||
Assert.assertEquals(1, data.getRow(0).getOriginalLineNumber());
|
||||
Assert.assertEquals("a,b,c,d", CollUtil.join(data.getRow(0), ","));
|
||||
|
||||
Assert.assertEquals(4, data.getRow(2).getOriginalLineNumber());
|
||||
Assert.assertEquals("q,w,e,r,我是一段\n带换行的内容",
|
||||
CollUtil.join(data.getRow(2), ",").replace("\r", ""));
|
||||
|
||||
// 文件中第3行数据,对应原始行号是6(从0开始)
|
||||
Assert.assertEquals(6, data.getRow(3).getOriginalLineNumber());
|
||||
Assert.assertEquals("a,s,d,f", CollUtil.join(data.getRow(3), ","));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void lineLimitTest() {
|
||||
// 从原始第2行开始读取
|
||||
CsvReader reader = new CsvReader(CsvReadConfig.defaultConfig().setBeginLineNo(2));
|
||||
CsvData data = reader.read(ResourceUtil.getReader("test_lines.csv", CharsetUtil.CHARSET_UTF_8));
|
||||
|
||||
Assert.assertEquals(2, data.getRow(0).getOriginalLineNumber());
|
||||
Assert.assertEquals("1,2,3,4", CollUtil.join(data.getRow(0), ","));
|
||||
|
||||
Assert.assertEquals(4, data.getRow(1).getOriginalLineNumber());
|
||||
Assert.assertEquals("q,w,e,r,我是一段\n带换行的内容",
|
||||
CollUtil.join(data.getRow(1), ",").replace("\r", ""));
|
||||
|
||||
// 文件中第3行数据,对应原始行号是6(从0开始)
|
||||
Assert.assertEquals(6, data.getRow(2).getOriginalLineNumber());
|
||||
Assert.assertEquals("a,s,d,f", CollUtil.join(data.getRow(2), ","));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void lineLimitWithHeaderTest() {
|
||||
// 从原始第2行开始读取
|
||||
CsvReader reader = new CsvReader(CsvReadConfig.defaultConfig().setBeginLineNo(2).setContainsHeader(true));
|
||||
CsvData data = reader.read(ResourceUtil.getReader("test_lines.csv", CharsetUtil.CHARSET_UTF_8));
|
||||
|
||||
Assert.assertEquals(4, data.getRow(0).getOriginalLineNumber());
|
||||
Assert.assertEquals("q,w,e,r,我是一段\n带换行的内容",
|
||||
CollUtil.join(data.getRow(0), ",").replace("\r", ""));
|
||||
|
||||
// 文件中第3行数据,对应原始行号是6(从0开始)
|
||||
Assert.assertEquals(6, data.getRow(1).getOriginalLineNumber());
|
||||
Assert.assertEquals("a,s,d,f", CollUtil.join(data.getRow(1), ","));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void customConfigTest() {
|
||||
final CsvReader reader = CsvUtil.getReader(
|
||||
CsvReadConfig.defaultConfig()
|
||||
.setTextDelimiter('\'')
|
||||
.setFieldSeparator(';'));
|
||||
final CsvData csvRows = reader.readFromStr("123;456;'789;0'abc;");
|
||||
final CsvRow row = csvRows.getRow(0);
|
||||
Assert.assertEquals("123", row.get(0));
|
||||
Assert.assertEquals("456", row.get(1));
|
||||
Assert.assertEquals("'789;0'abc", row.get(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readDisableCommentTest() {
|
||||
final CsvReader reader = CsvUtil.getReader(CsvReadConfig.defaultConfig().disableComment());
|
||||
final CsvData read = reader.read(ResourceUtil.getUtf8Reader("test.csv"));
|
||||
final CsvRow row = read.getRow(0);
|
||||
Assert.assertEquals("# 这是一行注释,读取时应忽略", row.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void streamTest() {
|
||||
final CsvReader reader = CsvUtil.getReader(ResourceUtil.getUtf8Reader("test_bean.csv"));
|
||||
reader.stream().limit(2).forEach(Console::log);
|
||||
}
|
||||
}
|
||||
207
hutool-poi/src/test/java/cn/hutool/poi/csv/CsvUtilTest.java
Normal file
207
hutool-poi/src/test/java/cn/hutool/poi/csv/CsvUtilTest.java
Normal file
@@ -0,0 +1,207 @@
|
||||
package cn.hutool.poi.csv;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.lang.Console;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class CsvUtilTest {
|
||||
|
||||
@Test
|
||||
public void readTest() {
|
||||
CsvReader reader = CsvUtil.getReader();
|
||||
//从文件中读取CSV数据
|
||||
CsvData data = reader.read(FileUtil.file("test.csv"));
|
||||
List<CsvRow> rows = data.getRows();
|
||||
final CsvRow row0 = rows.get(0);
|
||||
Assert.assertEquals("sss,sss", row0.get(0));
|
||||
Assert.assertEquals("姓名", row0.get(1));
|
||||
Assert.assertEquals("性别", row0.get(2));
|
||||
Assert.assertEquals("关注\"对象\"", row0.get(3));
|
||||
Assert.assertEquals("年龄", row0.get(4));
|
||||
Assert.assertEquals("", row0.get(5));
|
||||
Assert.assertEquals("\"", row0.get(6));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readTest2() {
|
||||
CsvReader reader = CsvUtil.getReader();
|
||||
reader.read(FileUtil.getUtf8Reader("test.csv"), (csvRow)-> {
|
||||
// 只有一行,所以直接判断
|
||||
Assert.assertEquals("sss,sss", csvRow.get(0));
|
||||
Assert.assertEquals("姓名", csvRow.get(1));
|
||||
Assert.assertEquals("性别", csvRow.get(2));
|
||||
Assert.assertEquals("关注\"对象\"", csvRow.get(3));
|
||||
Assert.assertEquals("年龄", csvRow.get(4));
|
||||
Assert.assertEquals("", csvRow.get(5));
|
||||
Assert.assertEquals("\"", csvRow.get(6));
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void readTest3() {
|
||||
CsvReader reader = CsvUtil.getReader();
|
||||
String path = FileUtil.isWindows() ? "d:/test/test.csv" : "~/test/test.csv";
|
||||
reader.read(FileUtil.getUtf8Reader(path), Console::log);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readCsvStr1(){
|
||||
CsvData data = CsvUtil.getReader().readFromStr("# 这是一行注释,读取时应忽略\n" +
|
||||
"\"sss,sss\",姓名,\"性别\",关注\"对象\",年龄,\"\",\"\"\"\n");
|
||||
List<CsvRow> rows = data.getRows();
|
||||
final CsvRow row0 = rows.get(0);
|
||||
Assert.assertEquals("sss,sss", row0.get(0));
|
||||
Assert.assertEquals("姓名", row0.get(1));
|
||||
Assert.assertEquals("性别", row0.get(2));
|
||||
Assert.assertEquals("关注\"对象\"", row0.get(3));
|
||||
Assert.assertEquals("年龄", row0.get(4));
|
||||
Assert.assertEquals("", row0.get(5));
|
||||
Assert.assertEquals("\"", row0.get(6));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readCsvStr2(){
|
||||
CsvUtil.getReader().readFromStr("# 这是一行注释,读取时应忽略\n" +
|
||||
"\"sss,sss\",姓名,\"性别\",关注\"对象\",年龄,\"\",\"\"\"\n",(csvRow)-> {
|
||||
// 只有一行,所以直接判断
|
||||
Assert.assertEquals("sss,sss", csvRow.get(0));
|
||||
Assert.assertEquals("姓名", csvRow.get(1));
|
||||
Assert.assertEquals("性别", csvRow.get(2));
|
||||
Assert.assertEquals("关注\"对象\"", csvRow.get(3));
|
||||
Assert.assertEquals("年龄", csvRow.get(4));
|
||||
Assert.assertEquals("", csvRow.get(5));
|
||||
Assert.assertEquals("\"", csvRow.get(6));
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void writeTest() {
|
||||
String path = FileUtil.isWindows() ? "d:/test/testWrite.csv" : "~/test/testWrite.csv";
|
||||
CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_UTF_8);
|
||||
writer.write(
|
||||
new String[] {"a1", "b1", "c1", "123345346456745756756785656"},
|
||||
new String[] {"a2", "b2", "c2"},
|
||||
new String[] {"a3", "b3", "c3"}
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void writeBeansTest() {
|
||||
|
||||
@Data
|
||||
class Student {
|
||||
Integer id;
|
||||
String name;
|
||||
Integer age;
|
||||
}
|
||||
|
||||
String path = FileUtil.isWindows() ? "d:/test/testWriteBeans.csv" : "~/test/testWriteBeans.csv";
|
||||
CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_UTF_8);
|
||||
List<Student> students = new ArrayList<>();
|
||||
Student student1 = new Student();
|
||||
student1.setId(1);
|
||||
student1.setName("张三");
|
||||
student1.setAge(18);
|
||||
|
||||
Student student2 = new Student();
|
||||
student2.setId(2);
|
||||
student2.setName("李四");
|
||||
student2.setAge(22);
|
||||
|
||||
Student student3 = new Student();
|
||||
student3.setId(3);
|
||||
student3.setName("王五");
|
||||
student3.setAge(31);
|
||||
|
||||
students.add(student1);
|
||||
students.add(student2);
|
||||
students.add(student3);
|
||||
writer.writeBeans(students);
|
||||
writer.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void readLfTest(){
|
||||
final CsvReader reader = CsvUtil.getReader();
|
||||
String path = FileUtil.isWindows() ? "d:/test/rw_test.csv" : "~/test/rw_test.csv";
|
||||
final CsvData read = reader.read(FileUtil.file(path));
|
||||
for (CsvRow row : read) {
|
||||
Console.log(row);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void writeWrapTest(){
|
||||
List<List<Object>> resultList=new ArrayList<>();
|
||||
List<Object> list =new ArrayList<>();
|
||||
list.add("\"name\"");
|
||||
list.add("\"code\"");
|
||||
resultList.add(list);
|
||||
|
||||
list =new ArrayList<>();
|
||||
list.add("\"wang\"");
|
||||
list.add(1);
|
||||
resultList.add(list);
|
||||
|
||||
String path = FileUtil.isWindows() ? "d:/test/csvWrapTest.csv" : "~/test/csvWrapTest.csv";
|
||||
final CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_UTF_8);
|
||||
writer.write(resultList);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void writeDataTest(){
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
class User {
|
||||
Integer userId;
|
||||
String username;
|
||||
String mobile;
|
||||
}
|
||||
|
||||
List<String> header = ListUtil.of("用户id", "用户名", "手机号");
|
||||
List<CsvRow> row = new ArrayList<>();
|
||||
|
||||
List<User> datas = new ArrayList<>();
|
||||
datas.add(new User(1, "张三", "18800001111"));
|
||||
datas.add(new User(2, "李四", "18800001112"));
|
||||
datas.add(new User(3, "王五", "18800001113"));
|
||||
datas.add(new User(4, "赵六", "18800001114"));
|
||||
|
||||
//可以为null
|
||||
//Map<String, Integer> headMap = null;
|
||||
Map<String, Integer> headMap = new HashMap<>();
|
||||
headMap.put("userId", 0);
|
||||
headMap.put("username", 1);
|
||||
headMap.put("mobile", 2);
|
||||
|
||||
for (User user : datas) {
|
||||
// row.size() + 1, 表示从第2行开始,第一行是标题栏
|
||||
row.add(new CsvRow(row.size() + 1, headMap,
|
||||
BeanUtil.beanToMap(user).values().stream().map(Object::toString).collect(Collectors.toList())));
|
||||
}
|
||||
|
||||
CsvData csvData = new CsvData(header, row);
|
||||
String path = FileUtil.isWindows() ? "d:/test/csvWriteDataTest.csv" : "~/test/csvWriteDataTest.csv";
|
||||
final CsvWriter writer = CsvUtil.getWriter(path, CharsetUtil.CHARSET_UTF_8);
|
||||
writer.write(csvData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package cn.hutool.poi.csv;
|
||||
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.lang.Console;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class CsvWriterTest {
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void writeWithAliasTest(){
|
||||
final CsvWriteConfig csvWriteConfig = CsvWriteConfig.defaultConfig()
|
||||
.addHeaderAlias("name", "姓名")
|
||||
.addHeaderAlias("gender", "性别");
|
||||
|
||||
final CsvWriter writer = CsvUtil.getWriter(
|
||||
FileUtil.file("d:/test/csvAliasTest.csv"),
|
||||
CharsetUtil.CHARSET_GBK, false, csvWriteConfig);
|
||||
|
||||
writer.writeHeaderLine("name", "gender", "address");
|
||||
writer.writeLine("张三", "男", "XX市XX区");
|
||||
writer.writeLine("李四", "男", "XX市XX区,01号");
|
||||
writer.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void issue2255Test(){
|
||||
String fileName = "D:/test/" + new Random().nextInt(100) + "-a.csv";
|
||||
CsvWriter writer = CsvUtil.getWriter(fileName, CharsetUtil.CHARSET_UTF_8);
|
||||
List<String> list = new ArrayList<>();
|
||||
for (int i = 0; i < 10000; i++) {
|
||||
list.add(i+"");
|
||||
}
|
||||
Console.log("{} : {}", fileName, list.size());
|
||||
for (String s : list) {
|
||||
writer.writeLine(s);
|
||||
}
|
||||
writer.close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user