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

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

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

java讀取某個(gè)文件夾中的全部文件

主要思路

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

示例

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

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() + "個(gè)文件");
    }

    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)計(jì)子文件夾則可以將下一行注釋掉
                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;
    }

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

相關(guān)文章

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

    springboot FeignClient注解及參數(shù)

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

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

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

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

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

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

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

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

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

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

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

    Java線程通信詳解

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

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

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

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

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

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

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

最新評論

兰州市| 禹城市| 彰化县| 青阳县| 县级市| 云南省| 峨边| 新乐市| 呈贡县| 衡山县| 聊城市| 梨树县| 弥勒县| 东方市| 周宁县| 报价| 宝兴县| 临朐县| 繁昌县| 青海省| 遵义市| 沅陵县| 拜城县| 和平县| 弋阳县| 旬邑县| 西乌珠穆沁旗| 云南省| 许昌市| 革吉县| 湖州市| 潮州市| 江孜县| 日照市| 油尖旺区| 施甸县| 昌宁县| 图木舒克市| 金川县| 石渠县| 田林县|