1 package com.javaio.study; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 /** 7 * 列出File的一些常用操作,比如过滤、遍历等操作 8 * @author chen 9 * 10 */ 11 public class FileUtils { 12 13 /** 14 * 列出指定目录下(包括其子目录)的所有文件 15 * @param dir 16 * @throws IOException 17 */ 18 private void listDirectory(File dir) throws IOException{ 19 20 if(!dir.exists()){ 21 throw new IllegalArgumentException("目录" + dir + "不存在!"); 22 }else if(!dir.isDirectory()){ 23 throw new IllegalArgumentException(dir + "不是目录"); 24 }else{ 25 /* 26 * 只能列出该目录下的子目录(文件),不能列出所有的子目录(文件) 27 */ 28 /*String[] names = dir.list();//返回字符串数组 29 for(String name: names){ 30 System.out.println(dir + name); 31 }*/ 32 33 /* 34 * 列出该目录下的所有子目录(文件) 35 * 如果要遍历子目录下的内容就需要构成Fiel对象做递归操作,File提供了 36 * 直接返回File对象的API 37 */ 38 File[] files = dir.listFiles();//返回的是直接子目录(文件)的抽象 39 if(files != null && files.length > 0){ 40 for(File file: files){ 41 if(file.isDirectory()){ 42 //递归 43 listDirectory(file); 44 }else{ 45 System.out.println(file); 46 } 47 } 48 } 49 50 } 51 52 } 53 54 public static void main(String[] args) throws IOException { 55 56 FileUtils fu = new FileUtils(); 57 fu.listDirectory(new File("E:\\Project-Java\\JavaIO")); 58 59 } 60 61 }
时间: 2024-10-27 05:42:16