Hutool-解析csv,json,excel文件问题

最近有个需求:解析多种格式文件数据,这想起来hutool支持多种文件的解析,做个笔记记录一下,仅仅是简单应用,网络上也有比较详细的文档介绍。

OK,先做准备工作,引入依赖包如下,版本自选:

 <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.3.5</version>
        </dependency>

1.解析csv文件:CsvUtil

CsvReader reader = CsvUtil.getReader();
//设置文件读取的分隔符
reader.setFieldSeparator(separator.toCharArray()[0]);
//根据特定的编码方式读取File的内容
CsvData csvData = reader.read(file,Charset.forName(encode));
//读取文件中的所有的行数据
List<CsvRow> rows = csvData.getRows();
//若有标题,则获取首行标题
List<String> firstRawList = rows.get(0).getRawList();

在读取到文件的内容后,就可以进行自己的业务编码了,hutool的工具类相对比较轻量化,简单易用。

2.解析Excel文件:ExcelUtil

//读取Excel文件的内容-选定工作表名读取
ExcelReader  reader = ExcelUtil.getReader(file,fileSheetName);
//根据指定行开始读取所有的内容
List<List<Object>> rows = reader.read(1, reader.getRowCount());
//在获取到所有的数据后,要关闭reader(切记),操作文件总是失败,最后才发现在service调用没有关闭流,粗心大意了!
reader.close();

3.解析JSON文件:JSONUtil

//根据特定的字符集编码读取JSON文件
JSONObject jsonObject = JSONUtil.readJSONObject(file, Charset.forName(encode));

4.总结:hutool是一款非常强大的工具组件,不仅仅对文件,对项目中很多的开发提供方便的工具类,在工作中也用到了xml文件的解析,个人用起来不太强大,所以引用的dom4j来解析读取XML文件,开发不易,学会偷懒才难得糊涂。

猜你喜欢

转载自www.cnblogs.com/adolph2715/p/12973721.html