HuTool工具包操作csv文件
2024-08-31 10:53:31
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; }
执行结果
最新文章
- 小白Linux入门 一
- LNMP平台搭建---MySQL安装篇
- 用sublime写出的第一个网页
- fiddler,https抓包设置
- mac xcworkspace xcodebuild
- CommonsChunkPlugin的使用(关于angular2中的polyfills和vendor的疑问解决)
- java web每天定时执行任务
- Memcached缓存入门篇
- 关于【IE兼容】的都在这
- LINQ to XML编程之编程基础
- 三十天学不会TCP,UDP/IP网络编程-ARP -- 连接MAC和IP
- XML之DTD(文档类型定义)
- Django(三)runserver 命令源码分析
- html5+hbuilder+夜神模拟器+webview
- 论文翻译:BinaryConnect: Training Deep Neural Networks with binary weights during propagations
- Client-Side Template Injection with AngularJS
- Spring Boot 线程池
- 【转】LVDS基础、原理、图文讲解
- 怎样使用md命令一次建立多级子目录
- 项目Alpha冲刺(团队2/10)
热门文章
- 【LeetCode】剑指 Offer 04. 二维数组中的查找
- 第48篇-native方法调用解释执行的Java方法
- DEEP DOUBLE DESCENT: WHERE BIGGER MODELS AND MORE DATA HURT
- 论文翻译:2020_ACOUSTIC ECHO CANCELLATION WITH THE DUAL-SIGNAL TRANSFORMATION LSTM NETWORK
- 【Redis的那些事 &#183; 续集】Redis的位图、HyperLogLog数据结构演示以及布隆过滤器
- 【jvm】09-full gc分析思路
- MySQL数据操作与查询笔记 • 【第4章 SELECT 数据查询】
- RSA非对称加密算法实现:Python
- 经典定长指令-修改EIP
- 历时5月,Kubernetes1.19正式发布 !Ingress迎来GA,存储容量跟踪新特性