HuTool工具包操作csv文件

CsvUtil是CSV工具类,主要封装了两个方法:

  getReader 用于对CSV文件读取

  getWriter 用于生成CSV文件

1、读取文件

  读取为CsvRow

CsvReader reader = CsvUtil.getReader();
//从文件中读取CSV数据
CsvData data = reader.read(FileUtil.file("test.csv"));
List<CsvRow> rows = data.getRows();
//遍历行
for (CsvRow csvRow : rows) {
    //getRawList返回一个List列表,列表的每一项为CSV中的一个单元格(既逗号分隔部分)
    Console.log(csvRow.getRawList());
}

  读取为Bean列表

CsvReader csvReader = CsvUtil.getReader();
        //使用GBK编码,否则中文出现乱码,
        // 若使用Utf8 可以直接使用ResourceUtil.getUtf8Reader("test2.csv")
        List<BeanDto> rows = csvReader.read(ResourceUtil.getReader("test2.csv", CharsetUtil.CHARSET_GBK), BeanDto.class);
        for (BeanDto bean : rows) {
            System.out.println(bean);
        }

读取为Bean时,第一行是标题,必须与Bean的属性名一致,如果不一致可以使用@Alias("csv文件中名称")注解,该注解作用在属性上,例如

@Data
public class BeanDto {

    @Alias("设备内码")
    private String indexCode;

    @Alias("IP地址")
    private String address;

    @Alias("端口号")
    private Integer port;

    @Alias("设备账号")
    private String userName;


}

 

 

 

执行结果

 

posted @ 2021-06-22 11:36  卯仙  阅读(8539)  评论(0编辑  收藏  举报