最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java如何讀取某個文件夾中的全部文件(包括子文件夾)

 更新時間:2022年12月03日 15:11:55   作者:Hydrion-Qlz  
這篇文章主要介紹了java如何讀取某個文件夾中的全部文件(包括子文件夾),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

java讀取某個文件夾中的全部文件

主要思路

使用file.listFiles()函數(shù)可以獲取到某文件夾下的所有文件信息,如果需要訪問子文件夾下的文件,則需要對獲取到的文件信息進(jìn)行遞歸遍歷,如果是目錄則繼續(xù)統(tǒng)計,如果是文件則加入文件列表中

示例

例如我想讀取該java項目中所有的文件(包括子文件夾中的文件)

image-

則將第十一行的basePath修改為該文件夾所在路徑,運(yùn)行結(jié)果如下圖所示

代碼

package cn.edu.xjtu;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class test {

    public static void main(String[] args) {

        String basePath = "D:\\code\\java\\typoraImgTypeTrans";
        File dir = new File(basePath);

        List<File> allFileList = new ArrayList<>();

        // 判斷文件夾是否存在
        if (!dir.exists()) {
            System.out.println("目錄不存在");
            return;
        }

        getAllFile(dir, allFileList);

        for (File file : allFileList) {
            System.out.println(file.getName());
        }
        System.out.println("該文件夾下共有" + allFileList.size() + "個文件");
    }

    public static void getAllFile(File fileInput, List<File> allFileList) {
        // 獲取文件列表
        File[] fileList = fileInput.listFiles();
        assert fileList != null;
        for (File file : fileList) {
            if (file.isDirectory()) {
                // 遞歸處理文件夾
                // 如果不想統(tǒng)計子文件夾則可以將下一行注釋掉
                getAllFile(file, allFileList);
            } else {
                // 如果是文件則將其加入到文件數(shù)組中
                allFileList.add(file);
            }
        }
    }
}

java獲取文件夾下指定的文件

/*
    * 獲取指定的文件
    * */
 private ArrayList<String> GetFiles(String path, String searchPattern, ArrayList<String> filesList) {
        if (filesList == null) {
            filesList = new ArrayList<>();
        }
        if (!Strings.isNullOrEmpty(path) && !Strings.isNullOrEmpty(searchPattern)) {
            try {
                File f = new File(path);
                if (f.exists()) {
                    final File[] files = f.listFiles();
                    for (File file : files) {
                        if (file.isDirectory()) {
                            GetFiles(file.getPath(), searchPattern, filesList);
                        } else if (file.isFile()) {
                            if (file.getName().endsWith(searchPattern)) {
                                filesList.add(file.getPath().toString());
                            }
                        }
                    }
                }
            } catch (Exception ex) {
                System.out.println(ex.getMessage());
            }
        }
        return filesList;
    }

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot FeignClient注解及參數(shù)

    springboot FeignClient注解及參數(shù)

    這篇文章主要介紹了springboot FeignClient注解及參數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 詳解SpringCloud是如何動態(tài)更新配置的

    詳解SpringCloud是如何動態(tài)更新配置的

    spring cloud在config配置管理的基礎(chǔ)上,提供了consul config的配置管理和動態(tài)監(jiān)聽,那么這里面到底是怎樣實現(xiàn)的,本文將為你揭秘,感興趣的小伙伴可以跟著小伙伴一起來學(xué)習(xí)
    2023-06-06
  • Java Unsafe學(xué)習(xí)筆記分享

    Java Unsafe學(xué)習(xí)筆記分享

    今天小編就為大家分享一篇Java Unsafe學(xué)習(xí)筆記,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Activiti進(jìn)階之組任務(wù)實現(xiàn)示例詳解

    Activiti進(jìn)階之組任務(wù)實現(xiàn)示例詳解

    這篇文章主要為大家介紹了Activiti進(jìn)階之組任務(wù)實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • java語言求解兔子問題代碼分析

    java語言求解兔子問題代碼分析

    這篇文章主要介紹了Java語言求解兔子問題代碼分析,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • 總結(jié)Java集合類操作優(yōu)化經(jīng)驗

    總結(jié)Java集合類操作優(yōu)化經(jīng)驗

    本文主要介紹的就是集合框架的使用經(jīng)驗,告訴大家如何高效、方便地管理對象,所有代碼基于JDK7,需要的朋友可以參考下
    2015-08-08
  • Java線程通信詳解

    Java線程通信詳解

    本篇文章主要介紹了Java線程通信問題,線程通信用來保證線程協(xié)調(diào)運(yùn)行,有需要的朋友可以了解一下。
    2016-10-10
  • mybatis的if判斷不要使用boolean值的說明

    mybatis的if判斷不要使用boolean值的說明

    這篇文章主要介紹了mybatis的if判斷不要使用boolean值的說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • java寫的偽微信紅包功能示例代碼

    java寫的偽微信紅包功能示例代碼

    這篇文章主要介紹了java寫的偽微信紅包功能示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 一篇文章帶你了解spring事務(wù)失效的多種場景

    一篇文章帶你了解spring事務(wù)失效的多種場景

    在日常編碼過程中常常涉及到事務(wù),在前兩天看到一篇文章提到了Spring事務(wù),那么在此總結(jié)下在Spring環(huán)境下事務(wù)失效的幾種原因.
    2021-09-09

最新評論

长乐市| 长丰县| 景谷| 大余县| 景泰县| 东阿县| 东方市| 恩施市| 彝良县| 康马县| 阿坝县| 北碚区| 铜梁县| 济源市| 嘉禾县| 涟源市| 磐安县| 松阳县| 大同县| 土默特右旗| 马关县| 大姚县| 南召县| 赣榆县| 平顺县| 蒙自县| 政和县| 依兰县| 岳普湖县| 克拉玛依市| 山阴县| 台江县| 合江县| 闵行区| 雷山县| 乾安县| 延长县| 山东省| 南皮县| 上高县| 和平区|