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

Java读取文件数据

    • 1、概述
    • 2、方法一
      • 2.1 我的思路(原生方法,可以直接用的)
      • 2.2 相关代码(上才艺)
    • 3、方法二
      • 3.1 Hutool介绍
      • 3.2 相关代码

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() && 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,方便省时又省力。
推荐网址: Hutool工具类库网址
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅。

3.2 相关代码

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

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

你可能感兴趣的:(Java,java,jvm,servlet,数据分析)