import java.io.File; import java.io.IOException; /** * File的一些常用操作比如过滤,遍历等操作 */ public class FileUtils { /* * 列出指定目录下(包括其子目录)的所有文件 * */ public static void listDirectory(File dir) throws IOException { if (!dir.exists()) {//如果文件不存在 throw new IllegalArgumentException("目录:" + dir + "不存在."); } if (!dir.isDirectory()) {//判断是否是目录 throw new IllegalArgumentException(dir + "不是目录"); } /*//list()方法用于列出当前目录下的子目录和文件 String[] filenames = dir.list();//返回的是字符串数组 直接子目录的名称, //不包含子目录下的内容名称 for (String string:filenames) { System.out.println(dir+"\\"+string); }*/ //如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了直接返回 // Fiel对象的api File[] files = dir.listFiles();//返回的是直接子目录的对象 if (files != null && files.length > 0) {//判断其子目录下是否存在内容 for (File file : files) { if (file.isDirectory()) { //递归 listDirectory(file); } else { System.out.println(file); } } } }
}
--------------------------------------------------------------------------------------------------------
import java.io.File; import java.io.IOException; /** * 测试类 */ public class FileUtilsTest1 { public static void main(String[] args) throws IOException { FileUtils.listDirectory(new File("D:\\JAVA\\学习资料")); /* 结果:遍历出了学习资料下的所有子目录名称,但是每个子目录下的文件不再遍历 D:\JAVA\学习资料51CTO下载-阿里巴巴Java开发手册(2017年正式版).pdf D:\JAVA\学习资料Head+First+Java+(中文版).pdf D:\JAVA\学习资料Java学习文档 D:\JAVA\学习资料Java编程思想第四版完整中文高清版.pdf D:\JAVA\学习资料jdk-8u121-windows-x64.exe */ /* 结果: 使用File类的listFiles()方法,获得file对象,然后做递归操作,可以获得其子目录下的内容信息 D:\JAVA\学习资料\51CTO下载-阿里巴巴Java开发手册(2017年正式版).pdf D:\JAVA\学习资料\Head+First+Java+(中文版).pdf D:\JAVA\学习资料\Java学习文档\controller跳转到jsp.doc D:\JAVA\学习资料\Java学习文档\html网页.doc D:\JAVA\学习资料\Java学习文档\jQuery获取tr中td的值.docx D:\JAVA\学习资料\Java学习文档\Jsp显示controller里的list.docx D:\JAVA\学习资料\Java学习文档\mvc与分层区别.docx D:\JAVA\学习资料\Java学习文档\SpringMVC工作原理.doc D:\JAVA\学习资料\Java学习文档\SSM登录项目.doc D:\JAVA\学习资料\Java学习文档\~$c与分层区别.docx D:\JAVA\学习资料\Java学习文档\乱码问题.docx D:\JAVA\学习资料\Java学习文档\创建springmvc.docx D:\JAVA\学习资料\Java学习文档\子龙笔记.docx D:\JAVA\学习资料\Java学习文档\集成jdbc+springmvc+jsp小项目.doc D:\JAVA\学习资料\Java编程思想第四版完整中文高清版.pdf D:\JAVA\学习资料\jdk-8u121-windows-x64.exe */ } }