java如何获取文件下某种类型的文件呢,本文通过递归筛选实现此功能,代码如下:

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;/**** @author yaohucaizi*/
public class FileViewer {/*** 读取文件夹下所以文件** @param dirPath* @param fileTypes* @return*/public static List<String> getAllFilePathByDir_FilterByFileType(String dirPath,List<String> fileTypes) {String localClassFilePath = FileViewer.class.getResource("/").getPath();String contextFilePath = localClassFilePath.substring(1, localClassFilePath.length() - 16);contextFilePath = contextFilePath.replace("/", "\\");List<String> filePathList = new ArrayList<String>();for (int index = 0; index < fileTypes.size(); index++) {fileList = new ArrayList<String>();List arrayList = FileViewer.getListFiles(dirPath, fileTypes.get(index), true);if (arrayList.isEmpty()) {System.out.println("没有符号要求的文件");} else {for (Iterator i = arrayList.iterator(); i.hasNext();) {String temp = (String) i.next();temp = temp.replace(contextFilePath, "");//把根路径去掉  System.out.println(temp);filePathList.add(temp);}}}for (int replaceIndex = 0; replaceIndex < filePathList.size(); replaceIndex++) {filePathList.set(replaceIndex, filePathList.get(replaceIndex).replace("\\", "/"));}return filePathList;}public static List<String> fileList = new ArrayList<String>();/*** 添加文件后缀名称** @return*/public static List<String> suffixlist() {List<String> list = new ArrayList<String>();list.add("html");list.add("htm");return list;}/**** @param path 文件路径* @param suffix 后缀名* @param isdepth 是否遍历子目录* @return*/public static List getListFiles(String path, String suffix, boolean isdepth) {File file = new File(path);return FileViewer.listFile(file, suffix, isdepth);}public static List listFile(File f, String suffix, boolean isdepth) {// 是目录,同时需要遍历子目录  if (f.isDirectory() && isdepth == true) {File[] t = f.listFiles();for (int i = 0; i < t.length; i++) {listFile(t[i], suffix, isdepth);}} else {String filePath = f.getAbsolutePath();if (suffix != null) {int begIndex = filePath.lastIndexOf(".");// 最后一个.(即后缀名前面的.)的索引  String tempsuffix = "";if (begIndex != -1)// 防止是文件但却没有后缀名结束的文件  {tempsuffix = filePath.substring(begIndex + 1, filePath.length());}if (tempsuffix.equals(suffix)) {fileList.add(filePath);}} else {// 后缀名为null则为所有文件  fileList.add(filePath);}}return fileList;}public static void main(String[] args) {List<String> listResult = getAllFilePathByDir_FilterByFileType("D:\\netbeans workspace\\EDMProject\\trunk\\target\\EDMProject-1.0-SNAPSHOT\\upload\\template/1368683270902", suffixlist());System.out.println(listResult.size() + "\t" + listResult.get(0));}
}

Java读取文件夹下的指定类型的文件(包含子文件夹)相关推荐

  1. php获得指定目录文件,PHP遍历指定文件夹获取路径及大小(包含子文件夹)

    PHP获取指定文件夹下(包含子文件夹)所有文件路径 及 大小 代码如下: // 获取指定文件夹 所有文件及大小 (包含子文件夹) By [简爱] function JA_files2arr($dirp ...

  2. copy 扩展名 包含子文件夹 文件 到某个 文件夹

    比如我在d:\fff下面有很多子文件夹,子文件夹里还有子文件夹,里面有些文件夹里有.ppm.bz2的后缀的文件,需要把他们找出来复制到d:\fff2里面,应该怎么用批处理写? 最佳答案 1 2 3 4 ...

  3. 遍历可执行文件所在目录下的指定类型的文件

    示例:遍历可执行文件目录下指定的txt类型的文件,编译环境vs2010,项目类型控制台输出程序: 代码实现: main.cpp // DocumentTraveral_demo.cpp : 定义控制台 ...

  4. shell判定文件夹下存在某种类型的文件

    该例程用途: 判定/mnt文件夹下是否存在ko文件.存在则把ko文件mv到update文件夹下,不存在则从update文件夹中把ko文件mv过来 #!/bin/sh exist_file() {if ...

  5. python:复制文件夹及内容(包含子文件夹)到指定目录

    import yaml import os import shutildef copyHistorySession():source_path5048 = r'D:\sourse'target_pat ...

  6. perl如何遍历指定文件夹下的指定扩展名文件,并按时间顺序要求删除

    (linux下)要求是,遍历/ccd/pa/下的所有后缀为log的文件(包括所有子文件夹),只保留时间顺序离现在最近的20个文件,其它删除. ; my $num = 20; my $pattern = ...

  7. 获取文件夹下的文件,包含子文件夹并复制文件

    工作的时候用到的一些方法,在这里记录一下. public class GetFileList {private static ArrayList<File> fileList = new ...

  8. 百度网盘怎么批量改名(包含子文件夹)

    前言 我搞这个东西的原因呢,因为自己需要用到,自己在全网找类似的东西.无论是软件,油猴插件,还是程序的(包括java.php.C#)统统都不行,唯一觉得能跑的就是一篇CSDN的python的代码: 使 ...

  9. linux 修改文件夹和子文件夹权限,Linux下设置文件夹以及子文件夹中所有文件权限...

    0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 0x01 方法 设置文件夹及子文件夹下所有文件的读.写.可执行权限: [root@ ...

最新文章

  1. PHP+XML留言板
  2. 方法论之 如何解决一个问题
  3. Android 插件化原理解析——Activity生命周期管理
  4. python不同版本共存_多版本Python共存的配置方法
  5. 生成多个 SSH-Key 、生成多个公钥和私钥
  6. ABS 1.1.0:更多Python和Bash提供最有趣的编程语言
  7. c语言linux内核开发,Linux 内核源代码的几个C语言技巧
  8. android ffmpeg 优点_在Android中使用FFmpeg(android studio环境)
  9. 11.24 《阿猫阿狗2》精美包装艳丽登场
  10. 图像融合(五)-- 梯度金字塔
  11. TI 库仑计高级篇之Chemistry 创建
  12. 百度贴吧一键签到工具(android版)
  13. 通过java实现word转PDF
  14. windows 系统 工具栏 快速启动
  15. 检测站营销系列文章:机动车检测站如何做精益营销?
  16. 工大校园邮箱申请流程
  17. 挑战程序设计竞赛:反转法
  18. 综合实践计算机的入门知识教学设计,3-6年级综合实践活动3.我是电脑小画家_教案、教学设计_市级优课(0001)【信息技术】.doc...
  19. 运算器和控制器在计算机的作用,运算器和控制器功能作用(修改版).ppt
  20. 什么是智能巡检?有何作用与意义

热门文章

  1. 【LeetCode69.x的平方根】——二分查找
  2. win2003下安装不了Inter945g显卡驱动的问题解决
  3. cracking_game逆向分析
  4. AXI VIP使用方法记录
  5. 【定制开发】【M11】Python采集数据源,自动生成Excel报表:避免人力浪费,提高工作效率
  6. PDF上的文字和图片怎么编辑修改
  7. 回望2017,基于深度学习的NLP研究大盘点
  8. oracle中fm990.9,国内主要FM电台频率数据.doc
  9. Boost日期时间(date_time)—时间
  10. 点击input时,去除边框