zoukankan      html  css  js  c++  java
  • 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文件,开发不易,学会偷懒才难得糊涂。

  • 相关阅读:
    Servlet基础知识
    字节流
    MyEclipse快捷键
    Css Flex布局
    Django Session
    Django 分页
    Django Cookie
    Django 模板
    Python redis-py
    JQuery ajax
  • 原文地址:https://www.cnblogs.com/adolph2715/p/12973721.html
Copyright © 2011-2022 走看看