Java读取文件数据

text
1 2 3 4 5
<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 相关代码(上才艺)

text
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
   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 相关代码

text
1 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