Java读取txt文件、excel文件的方法

1.读取txt文件

  1. public static String getFileContent(String filePath,String charset){//filePath为文件路径,charset为字符编码。通常使用UTF-8
  2. File file = new File(filePath);
  3. BufferedReader reader = null;
  4. String tempString = null;
  5. int line =1;
  6. StringBuffer str = new StringBuffer();
  7. try {
  8. log.error("以行为单位读取文件内容,一次读一整行:");
  9. InputStreamReader isr = new InputStreamReader(new FileInputStream(file), charset);
  10. reader = new BufferedReader(isr);
  11. while ((tempString = reader.readLine()) != null) {
  12. //log.info("Line"+ line + ":" +tempString);
  13. str.append(tempString + "\r\n");
  14. line ++ ;
  15. }
  16. reader.close();
  17. } catch (FileNotFoundException e) {
  18. log.error("文件不存在:",e);
  19. } catch (IOException e) {
  20. // TODO Auto-generated catch block
  21. log.error("文件读取异常:",e);
  22. }finally{
  23. if(reader != null){
  24. try {
  25. reader.close();
  26. } catch (IOException e) {
  27. log.error("文件读取异常:",e);
  28. }
  29. }
  30. }
  31. System.out.println(str.toString());
  32. return str.toString();
  33. }

读取的数据为一行一行的字符串,可以使用String接收,使用split切分,获取自己需要的数据,举例如下:

  1. String response = FileHelper.getFileContent(fileUrl,"UTF-8");
  2. if(!StringUtil.isEmptyStr(response)){
  3. String[] sz = response.split("\\n");
  4. Map<String,Object> statementMap = null;
  5. List<Map<String,Object>> statementList = new ArrayList<Map<String,Object>>();
  6. for (int i = 0; i < sz.length; i++){
  7. statementMap = new HashMap<String,Object>();
  8. String[] statement = sz[i].split("\\|\\|\\|",-1);
  9. String account = statement[0];
  10. String figer = statement[1];
  11. String number = statement[2];
  12. String proName = statement[3];
  13. String expTime = statement[4];
  14. statementMap.put("account", account);
  15. statementMap.put("figer", figer);
  16. statementMap.put("number", number);
  17. statementMap.put("proName", proName);
  18. statementMap.put("expTime", expTime);
  19. statementList.add(statementMap);
  20. }
  21. resultMap.put("list", statementList);

2.读取excel文件

  1. /*
  2. * 获取excel某列数据方法
  3. */
  4. public static List<String> readExcel(String filePath){
  5. File file = new File(filePath);
  6. List<String> headList = new ArrayList<>();
  7. InputStream in = null;
  8. try {
  9. in = new FileInputStream(file);
  10. XSSFWorkbook wb = new XSSFWorkbook(in);
  11. XSSFSheet sheet = wb.getSheetAt(0); //获取第一张工作表
  12. int firstRowNum = sheet.getFirstRowNum();
  13. int lastRowNum = sheet.getLastRowNum();
  14. XSSFRow row = sheet.getRow(sheet.getFirstRowNum());//判断表行是否为空
  15. if (null == row){//表空,直接返回
  16. return headList;
  17. }
  18. for (int i = firstRowNum + 1; i <= lastRowNum; i++) {//遍历行,第一行为表头,跳过
  19. row = sheet.getRow(i);
  20. XSSFCell cell = row.getCell(0);//取每行的第一列数据,可根据需要修改或者遍历
  21. if (StrHelper.isNotEmpty(cell.getStringCellValue().trim())){
  22. headList.add(cell.getStringCellValue().trim());
  23. System.out.println(cell.getStringCellValue().trim());
  24. }
  25. }
  26. in.close();
  27. } catch (Exception e) {
  28. e.printStackTrace();
  29. } finally{
  30. try {
  31. if(in != null){
  32. in.close();
  33. }
  34. } catch (IOException e) {
  35. e.printStackTrace();
  36. }
  37. }
  38. return headList;
  39. }

读取的数据为String数组,可以使用List接收,获取自己需要的数据,举例如下:

  1. List<String> response = FileHelper.readExcel(fileUrl);

Java读取txt文件、excel文件的方法的更多相关文章

  1. java 读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  2. java读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  3. java读取txt文件的2中方法---并将内容(每一行以固定的字符分割切成2段)存到map中去

    #java读取txt文件的第一种方法 /** * 方法:readTxt * 功能:读取txt文件并把txt文件的内容---每一行作为一个字符串加入到List中去 * 参数:txt文件的地址 * 返回: ...

  4. Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案

    注意:此参考解决方案只是针对xlsx格式的excel文件! 背景 前一段时间遇到一种情况,服务器经常宕机,而且没有规律性,查看GC日志发生了out of memory,是堆溢出导致的,分析了一下堆的d ...

  5. java读取txt文件内容

    package read; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public ...

  6. java操作office和pdf文件java读取word,excel和pdf文档内容

    在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...

  7. java使用POI实现excel文件的读取,兼容后缀名xls和xlsx

    需要用的jar包如下: 如果是maven管理的项目,添加依赖如下: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --&g ...

  8. Java读取txt文件

    package com.loongtao.general.crawler.slave.utils; import java.io.BufferedReader; import java.io.File ...

  9. c++ 读取并解析excel文件方法

    用Cocos开发模型特效工具编辑器,跨Mac和windows,当中有个需求是读取并解析excel文件,但网上的查找的例子几乎都只能是在windows下面使用,再或者是命令行脚本之类的.于是,自己写了一 ...

随机推荐

  1. 【java】学习路径45-多线程-线程生命周期

    线程分为五大状态:新建.就绪.运行.阻塞.死亡. New,Runnable,Running,Blocked,Terminated. 新建状态(New: 创建好一个系统对象,在调用start()之前,线 ...

  2. Spring5事务管理

    事务管理是什么? 相当于过滤器,如果这一进程中上一个操作正常执行完后提交数据已经发生改变,但是下一个操作中出现了异常,这样就会影响数据的查看. 典型例子:银行转账,甲方已经转钱给乙方(甲方已扣钱),乙 ...

  3. Think PHP 完整的带富文本格式以及图片上传,并且在页面上分页展示

    Think php6.0官网网址:序言 · ThinkPHP6.0完全开发手册 · 看云 (kancloud.cn) 下面是基础配置 第一步:创建TP框架,命名为tp composer create- ...

  4. Python实现XMind测试用例快速转Excel用例

    转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/c2d10f21.html 你好,我是测试蔡坨坨. 今天分享一个Python编写的小工具,实现XMind测试用例转Excel用 ...

  5. SpringMVC--从理解SpringMVC执行流程到SSM框架整合

    前言 SpringMVC框架是SSM框架中继Spring另一个重要的框架,那么什么是SpringMVC,如何用SpringMVC来整合SSM框架呢?下面让我们详细的了解一下. 注:在学习SpringM ...

  6. Python数据科学手册-Pandas:数值运算方法

    Numpy 的基本能力之一是快速对每个元素进行运算 Pandas 继承了Numpy的功能,也实现了一些高效技巧. 对于1元运算,(函数,三角函数)保留索引和列标签 对于2元运算,(加法,乘法),Pan ...

  7. Django 使用VScode 创建工程

    一.VSCode 创建Django 工程 VSCode 官方: https://code.visualstudio.com 1 mysite(项目名),创建Django 项目,可以和虚拟环境放在同一目 ...

  8. Elasticsearch:significant terms aggregation

    在本文中,我们将重点关注significant terms和significant text聚合.这些聚合旨在搜索数据集中有趣和/或不寻常的术语,这些术语可以告诉您有关数据的隐藏属性的更多信息.此功能 ...

  9. 第六章:Django 综合篇 - 8:信号 signal

    django自带一套信号机制来帮助我们在框架的不同位置之间传递信息.也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(senders)将通知或信号(signals)发送给一组接受者(rec ...

  10. 在k8s中将nginx.conf文件内容创建为ConfigMap挂载到pod容器中

    将nginx.conf文件内容创建为ConfigMap user nginx; worker_processes auto; error_log /var/log/nginx/error.log er ...