Java如何更高效且大批量地读取文件数据(tsv,csv,txt等等)

白色玫瑰 程序猿

时间: 2023-07-11 阅读: 1 字数:3484

{}
一般而言,处理大批量的数据,一般倾向于使用python,即方便又省力,但有时候不得不使用Java来读取文件里的数据,再进行处理。所以以下就是我读取文件里的数据时写的代码。使用网上已有的API,方便省时又省力。推荐...

Java读取文件数据

<a href="#1_1">1、概述</a>    <a href="#2_3">2、方法一</a>    
 
  <a href="#21__4">2.1 我的思路(原生方法,可以直接用的)</a>      <a href="#22___9">2.2 相关代码(上才艺)</a>         <a href="#3_43">3、方法二</a>    
 
  <a href="#31_Hutool_44">3.1 Hutool介绍</a>      <a href="#32___48">3.2 相关代码</a>            

1、概述

一般而言,处理大批量的数据,一般倾向于使用python,即方便又省力,但有时候不得不使用Java来读取文件里的数据,再进行处理。所以以下就是我读取文件里的数据时写的代码。

2、方法一

2.1 我的思路(原生方法,可以直接用的)

(1)先传入文件在电脑里的路径(filePath) (2)再读取文件里的内容到缓冲区里(InputStreamReader) (3)然后逐行读取(每一行都是字符串,需要自己处理),并存储到List集合里。(bufferedReader.readLine()) (4)最后返回一个List集合

2.2 相关代码(上才艺)

   public List<String> FileRead(String filePath) {
      //定义ArrayList集合
      List<String> list = new ArrayList<>();
      try {
         // 读取文件
         File file = new File(filePath);
         // 判断文件是否存在
         if (file.isFile() &amp;&amp; file.exists()) {
            InputStreamReader reader = new InputStreamReader(Files.newInputStream(file.toPath()), StandardCharsets.UTF_8);
            BufferedReader bufferedReader = new BufferedReader(reader);
            try {
               String str;
               //循环判断是否文件扫描完
               while ((str = bufferedReader.readLine()) != null) {
                  //将每一行添加到list集合里
                  list.add(str);
               }
            } catch (IOException e) {
               e.printStackTrace();
            }
            bufferedReader.close();
            reader.close();
         } else {
            System.out.println("找不到指定的文件");
         }
      } catch (IOException e) {
         System.out.println("读取文件内容出错");
         e.printStackTrace();
      }
      return list;
   }

3、方法二

3.1 Hutool介绍

使用网上已有的API,方便省时又省力。 推荐网址: <a href="https://hutool.cn/docs/#/">Hutool工具类库网址</a> Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅。

3.2 相关代码

 List<String> file = FileUtil.readLines(filePath, StandardCharsets.UTF_8);

filePath:电脑里文件的路径 使用:传入filePath就可以了,然后返回一个集合 我个人推荐使用方法二,但如果对代码十分热爱,同时对自己写的代码有信心的话,可以自己写,或采用方法一,还是很有成就感的。

原文地址:https://blog.csdn.net/qq_46106857/article/details/127586547?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168904454516800225524999%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168904454516800225524999&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-9-127586547-null-null.142^v88^control_2,239^v2^insert_chatgpt&utm_term=java%E4%BC%98%E5%8C%96

本文章网址:https://www.sjxi.cn/detil/85d5c07598ae4271a42afd0371356d1d

最新评论

当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号

×

(穷逼博主)在线接单

QQ: 1164453243

邮箱: abcdsjx@126.com

前端项目代做
前后端分离
Python 爬虫脚本
Java 后台开发
各种脚本编写
服务器搭建
个人博客搭建
Web 应用开发
Chrome 插件编写
Bug 修复