递归遍历某个文件夹下所有包含某类型的文件

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

public class FileSearchTest {
static ArrayList<String> fileList = new ArrayList<String>();

public static void main(String[] args) {
    String contentString = ".ini";
    ArrayList<String> resultArrayList = getallFiles(
            "D:/Program Files (x86)", contentString);
    for (int i = 0; i < resultArrayList.size(); i++) {
        System.out.println(resultArrayList.get(i));
    }
    System.out.println(resultArrayList.size());
}

public static ArrayList<String> getallFiles(String path, String content) {

    File file = new File(path);
    File[] files = file.listFiles();
    for (int i = 0; i < files.length; i++) {
        if (files[i].isDirectory()) {
            getallFiles(files[i].getAbsolutePath(),content);
        } else {
            String strFileName = files[i].getAbsolutePath();
            if (strFileName.endsWith(content)) {
                fileList.add(strFileName);
            }
        }
    }
    return fileList;
}

}
时间: 2024-10-13 01:56:40

递归遍历某个文件夹下所有包含某类型的文件的相关文章

CoreJava_线程并发(阻塞队列):在某个文件夹下搜索含有某关键字的文件

Java多线程编程是非常考验一个程序员水平的.传统的WEB程序中,因为框架提供了太多的健壮性.并发性.可靠性的支持,所以我们都是将所有的注意力放到了业务实现上.我们只是按照业务逻辑的要求,不停的积累自己的代码.因为知识,或者是经验的限制,经常出现了问题而不自知.例如,某些比较原始的项目中,并没有使用Spring等相对来说比较灵活健壮的框架.而是仅仅使用Servlet来作为服务端的实现方式. 举一个简单的栗子,众所周知,当请求到了容器,容器是创建并且启动了一个Servlet线程来对当前的请求作出相

模拟test文件下的201712{01..31}/pdf这些文件夹下都有100个pdf文件

1.模拟test文件下的201712{01..31}/pdf这些文件夹下都有100个pdf文件注意灰色部分有反引号[[email protected] ~]# cat b.sh#!/bin/bashcd /root/test && mkdir -p 201712{01..31}/pdfWJ=find /root/moban -type ffor f in find /root/test/201712{01..31}/pdf -type ddocp $WJ $f &>/dev/

java学习(1):在一个文件夹下搜寻想要类型的所有文件

要求:在一个文件夹下,搜寻自己想要类型的所有文件(比如:我想要一个文件夹中的所有txt文件). import java.io.File; /** *获得一个文件下想要类型的所有的文件 *@author xcx *@time 2017年6月24日下午3:02:00 */ public class GetFile { public static void main(String[] args) { String file = "d:\\java";//文件夹的名称 File f = new

Java实现读取文件夹下(包括子目录)所有文件的文件名

在编程的过程中,经常会用到对文件的读写操作等.比如,找出某一个文件夹下的所有文件名等. 下面的程序给出了,获取某一给定文件夹下所有文件的绝对路径的程序.可以作为某一个模块,在需要的时候直接使用. package src; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStrea

python 在指定的文件夹下生成随机的测验试卷文件

#! python3 #在指定的路径中生成指定数目的测验试卷和参考答案文本,试卷内容是测验对我国28个省级行政区的省会城市的选择, #要求每份试题的试题顺序不同,不同试卷中相同试题的选项随机抽取. import random import os # 各省及其省会的字典数据 capitals = {'新疆': '乌鲁木齐', '甘肃': '兰州', '宁夏': '银川', '陕西': '西安', '青海': '西宁', '西藏': '拉萨', '贵州': '贵阳', '内蒙古': '呼和浩特',

find命令删除当前文件夹下N天前多类文件

find . \( -name "*.gz" -o -name "*.zip" -o -name "*.cfg" \) -maxdepth 1 -mtime +2  -exec rm {} \; 说明: 删除当前文件夹(-maxdepth 1) 2天以前的(-mtime +2) 多类文件 gz zip cfg   删除 -exec rm {} \;

删除文件夹下各级子目录中的.svn文件

建立一个文本文件,取名为removeSvn.reg(扩展名由txt改为reg),内容如下 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="<span style="color:rgb(0,0,0);font-family:Verdana, Arial, Helvetica, sans-serif;font-size:12px;t

matlab 把一个文件夹下的所有图片(可以包含在子文件夹下)考到指定文件夹下

clc;clear all; maindir = 'C:\Users\wang\Desktop\iLIDS-VID\i-LIDS-VID\images\cam2';subdir = dir( maindir ); % 先确定子文件夹 for i = 1 : length( subdir ) if( isequal( subdir( i ).name, '.' ) || ... isequal( subdir( i ).name, '..' ) || ... ~subdir( i ).isdir

JavaSE 文件递归之删除&amp;amp;获取文件夹文件夹中全部的以.jpg的文件的绝对路径

1.递归删除文件 假设一个文件夹以下还有子文件夹,进行删除的话会 报错,这个时候要使用递归的方式来删除这个文件文件夹中的全部文件以及文件夹 package cn.itcast.digui; import java.io.File; /** * 递归删除demo目录中全部文件包含目录 * 分析: * A:封装目录 * B:获取改目录下的全部文件或者目录 * C:遍历改file数组,得到每个File对象 * D:推断该file对象是都是目录 * 是:回到B * 否:删除 * @author Admi