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】学习路径48-线程锁ReentrantLock

    与上一章学习的线程锁synchronized类似,都是为了解决线程安全的问题. 使用方法: 新建一个ReentrantLock对象.(如果使用Thread多线程,则需要声明static静态) 然后在需 ...

  2. 端口安全 | DHCP snooping

    1.端口安全用于防止mac地址的欺骗.mac地址泛洪攻击.主要思想就是在交换机的端口下通过手工或者自动绑定mac地址,这就就只能是绑定的mac地址能够通过. 2.通过静态的端口绑定:将mac地址手工静 ...

  3. 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...

  4. Hbase shell 操作记录

    查看hbase版本 hbase(main):002:0> version 2.1.0-cdh6.2.0, rUnknown, Wed Mar 13 23:39:58 PDT 2019 Took ...

  5. Go编译过程

    一. Go编译流程 二.过程说明 1. 词法解析 读取Go源文件,将字符序列转换为符号(token)序列,比如将":="转换为_Define 代码中的标识符.关键字.运算符和分隔符 ...

  6. 使用PBIS将Linux加入域

     使用PBIS将Linux加入域 很多企业已经部署的微软的活动目录,为了方便管理,可以把Linux加入域.网上流传了很多把Linux加入域的方法,感觉比较复杂,并且似乎并没有真正的加入域.只是完成 ...

  7. ProxySQL(4):多层配置系统

    文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9280793.html ProxySQL中的库 使用ProxySQL的Admin管理接口连上ProxySQL, ...

  8. 前端安全配置xss预防针Content-Security-Policy(csp)配置详解

    文章转载自:https://www.xaheimi.com/jianzhan/117.html 什么是Content Secruity Policy(CSP) CSP全称Content Securit ...

  9. 第三章:模版层 - 1:Django模板语言详解

    本节将介绍Django模版系统的语法.Django模版语言致力于在性能和简单性上取得平衡. 如果你有过其它编程背景,或者使用过一些在HTML中直接混入程序代码的语言,那么你需要记住,Django的模版 ...

  10. 修改NodePort的范围

    在 Kubernetes 集群中,NodePort 默认范围是 30000-32767,某些情况下,因为您所在公司的网络策略限制,您可能需要修改 NodePort 的端口范围 修改kube-apise ...