Java读取文件夹下的指定类型的文件(包含子文件夹)
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读取文件夹下的指定类型的文件(包含子文件夹)相关推荐
- php获得指定目录文件,PHP遍历指定文件夹获取路径及大小(包含子文件夹)
PHP获取指定文件夹下(包含子文件夹)所有文件路径 及 大小 代码如下: // 获取指定文件夹 所有文件及大小 (包含子文件夹) By [简爱] function JA_files2arr($dirp ...
- copy 扩展名 包含子文件夹 文件 到某个 文件夹
比如我在d:\fff下面有很多子文件夹,子文件夹里还有子文件夹,里面有些文件夹里有.ppm.bz2的后缀的文件,需要把他们找出来复制到d:\fff2里面,应该怎么用批处理写? 最佳答案 1 2 3 4 ...
- 遍历可执行文件所在目录下的指定类型的文件
示例:遍历可执行文件目录下指定的txt类型的文件,编译环境vs2010,项目类型控制台输出程序: 代码实现: main.cpp // DocumentTraveral_demo.cpp : 定义控制台 ...
- shell判定文件夹下存在某种类型的文件
该例程用途: 判定/mnt文件夹下是否存在ko文件.存在则把ko文件mv到update文件夹下,不存在则从update文件夹中把ko文件mv过来 #!/bin/sh exist_file() {if ...
- python:复制文件夹及内容(包含子文件夹)到指定目录
import yaml import os import shutildef copyHistorySession():source_path5048 = r'D:\sourse'target_pat ...
- perl如何遍历指定文件夹下的指定扩展名文件,并按时间顺序要求删除
(linux下)要求是,遍历/ccd/pa/下的所有后缀为log的文件(包括所有子文件夹),只保留时间顺序离现在最近的20个文件,其它删除. ; my $num = 20; my $pattern = ...
- 获取文件夹下的文件,包含子文件夹并复制文件
工作的时候用到的一些方法,在这里记录一下. public class GetFileList {private static ArrayList<File> fileList = new ...
- 百度网盘怎么批量改名(包含子文件夹)
前言 我搞这个东西的原因呢,因为自己需要用到,自己在全网找类似的东西.无论是软件,油猴插件,还是程序的(包括java.php.C#)统统都不行,唯一觉得能跑的就是一篇CSDN的python的代码: 使 ...
- linux 修改文件夹和子文件夹权限,Linux下设置文件夹以及子文件夹中所有文件权限...
0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 0x01 方法 设置文件夹及子文件夹下所有文件的读.写.可执行权限: [root@ ...
最新文章
- PHP+XML留言板
- 方法论之 如何解决一个问题
- Android 插件化原理解析——Activity生命周期管理
- python不同版本共存_多版本Python共存的配置方法
- 生成多个 SSH-Key 、生成多个公钥和私钥
- ABS 1.1.0:更多Python和Bash提供最有趣的编程语言
- c语言linux内核开发,Linux 内核源代码的几个C语言技巧
- android ffmpeg 优点_在Android中使用FFmpeg(android studio环境)
- 11.24 《阿猫阿狗2》精美包装艳丽登场
- 图像融合(五)-- 梯度金字塔
- TI 库仑计高级篇之Chemistry 创建
- 百度贴吧一键签到工具(android版)
- 通过java实现word转PDF
- windows 系统 工具栏 快速启动
- 检测站营销系列文章:机动车检测站如何做精益营销?
- 工大校园邮箱申请流程
- 挑战程序设计竞赛:反转法
- 综合实践计算机的入门知识教学设计,3-6年级综合实践活动3.我是电脑小画家_教案、教学设计_市级优课(0001)【信息技术】.doc...
- 运算器和控制器在计算机的作用,运算器和控制器功能作用(修改版).ppt
- 什么是智能巡检?有何作用与意义