mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-08-18 20:38:02 +08:00
add read bean for csv
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
package cn.hutool.core.text.csv;
|
||||
|
||||
import cn.hutool.core.annotation.Alias;
|
||||
import cn.hutool.core.io.resource.ResourceUtil;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import lombok.Data;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import cn.hutool.core.io.resource.ResourceUtil;
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class CsvReaderTest {
|
||||
|
||||
@@ -14,4 +18,57 @@ public class CsvReaderTest {
|
||||
CsvData data = reader.read(ResourceUtil.getReader("test.csv", CharsetUtil.CHARSET_UTF_8));
|
||||
Assert.assertEquals("关注\"对象\"", data.getRow(0).get(2));
|
||||
}
|
||||
|
||||
@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 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;
|
||||
}
|
||||
}
|
||||
|
4
hutool-core/src/test/resources/test_bean.csv
Normal file
4
hutool-core/src/test/resources/test_bean.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
姓名,gender,focus,age
|
||||
张三,男,无,33
|
||||
李四,男,好对象,23
|
||||
王妹妹,女,特别关注,22
|
|
Reference in New Issue
Block a user