Java用递归方式扫描文件夹底下所有文件
时间:2019-10-22
本文章向大家介绍Java用递归方式扫描文件夹底下所有文件,主要包括Java用递归方式扫描文件夹底下所有文件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
由于工作需求扫描linux服务器目录底下的所有文件(当然Windows下的也可以哦),所以特此用递归方式:
1.上代码
package com.yinxin.control; import java.io.File; import java.util.ArrayList; import java.util.List; /** * @version 1.0 递归扫描文件夹 * @author syp * @time 2019年10月22日11:16:00 */ public class Test { private static ArrayList<Object> listFiles = new ArrayList<Object>(); public static ArrayList<Object> listFilesWithRecursion(String folderPath) throws Exception{ ArrayList<String> dirctorys = new ArrayList<String>(); File directory = new File(folderPath); if(!directory.isDirectory()){ throw new Exception('"' + folderPath + '"' + " input path is not a Directory , please input the right path of the Directory"); } if(directory.isDirectory()){ File [] filelist = directory.listFiles(); //路径名的目录中的文件和目录的数组 for(int i = 0; i < filelist.length; i ++){ /**如果当前是文件夹,进入递归扫描文件夹**/ if(filelist[i].isDirectory()){ dirctorys.add(filelist[i].getAbsolutePath()); /**递归扫描下面的文件夹**/ listFilesWithRecursion(filelist[i].getAbsolutePath()); } /**非文件夹**/ else{ listFiles.add(filelist[i].getAbsolutePath()); } } } return listFiles; } public static void main(String[] args) { try { List<Object> list=listFilesWithRecursion("E:\\totest\\"); for(Object str:list){ System.out.println("遍历文件夹【"+str+"】"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2.源文件夹图示:
3.测试效果:
原文地址:https://www.cnblogs.com/q580syp/p/11719199.html
- 利用Spring MVC搭建REST Service
- ehcache2.8.3入门示例:hello world
- day4、Linux基础题目
- 命令行执行Django脚本的方法
- Spring Security笔记:Hello World
- day5、文件乱码怎么解决
- javascript计算对象的长度
- Spring 4.0.2 学习笔记(2) - 自动注入及properties文件的使用
- day6、Linux下如何找出7天以前的文件删除
- django模板语法之include
- day7、用户登陆出现-bash-4.1$错误的原因
- Django--admin源码流程
- Spring Security笔记:Remember Me(下次自动登录)
- day8、 显示Linux路由表、各列信息
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释