Java递归获取目录下所有特定后缀文件
2013-12-25 18:45
766 查看
一段非常简单的java代码,写成了一个小util :
测试代码 :
package com.util; import java.io.File; import java.io.FileFilter; import java.util.List; public class FileUtil { /** * provide two default file filters */ public static FileFilter DEFAULT_JSP_FILTER = new JSPFileFilter(); public static FileFilter DEFAULT_TXT_FILTER = new TXTFileFilter(); /** * This method will get all the target files under a specific directory * * @param targetDir * @param filter * @param resultFiles * @return */ public static List<File> filterTargetFiles(File targetDir, FileFilter filter, List<File> resultFiles) { /** * listFiles : only list the files in the current directory, not include * the files in the sub directories. */ File[] files = targetDir.listFiles(filter); for (File file : files) { if (file.isDirectory()) { filterTargetFiles(file, filter, resultFiles); } else { resultFiles.add(file); } } return resultFiles; } private static class JSPFileFilter implements FileFilter { @Override public boolean accept(File file) { if (file.isDirectory()) { return true; } String fileName = file.getName(); return fileName.matches("(?i).+jsp$"); } } private static class TXTFileFilter implements FileFilter { @Override public boolean accept(File file) { if (file.isDirectory()) { return true; } String fileName = file.getName(); return fileName.matches("(?i).+txt$"); } } }
测试代码 :
package com.salmon; import java.io.File; import java.util.ArrayList; import java.util.List; import com.util.FileUtil; public class TestReadFiles { public static void main(String[] args) { String targetDirPath = "D:\\ZZZZTestDir"; File targetDir = new File(targetDirPath); List<File> allFiles = new ArrayList<File>(); allFiles = FileUtil.filterTargetFiles(targetDir, FileUtil.DEFAULT_TXT_FILTER, allFiles); // after get all the files, do the specific logic for the target files doTheLogic(allFiles); } /** * Get all the files in the target directory, here we could conduct any logic for the files * * @param filesList */ private static void doTheLogic(List<File> filesList){ for(File file : filesList){ System.out.println(file.getPath()); } } }
相关文章推荐
- Java非递归的方式获取目录中所有文件(包括目录)
- Java利用递归思想遍历指定目录,获取所有的文件
- java 递归获取一个目录下的所有文件路径
- JAVA基础 day22 File类的方法和应用 利用递归获取目录下的所有文件 Properties类的应用(和IO技术结合,存取配置文件) 打印流和合并流等功能类的学习应用 切割文件练习
- java递归遍历获取目录下所有文件
- java 用递归获取一个目录下的所有文件路径的小例子
- java 递归获取一个目录下的所有文件路径
- 对指定的目录进行递归获取递归过程所有的java文件的路径。
- java语言基础(80)——递归获取指定目录下所有的文件
- java 使用递归获取指定文件路径目录,删除指定的文件后缀(可扩展,根据具体需要的删除的后缀进行配置)~~
- java 获取指定目录下所有文件的名称
- php递归获取目录下所有文件
- java中递归读取目录下的所有文件
- MFC查找所有后缀文件获取文件大小读取特定位置数据
- 递归获取某一目录下的所有文件
- Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹
- java递归复制所有指定规则的文件到同一目录下
- JavaSE 文件递归之删除&获取文件夹目录中所有的以.jpg的文件的绝对路径
- Java-读取某个目录下所有文件、文件夹和3种从文件路径中获取文件名的方法
- 递归遍历某个目录下的所有java文件