File类简介
请自行参考JDK Api 文档,这里就不过多解释。
遍历目录
遍历目录下的文件或文件夹
首先创建FileUtils.java文件
package com.tuzi;
import java.io.File;
import java.io.IOException;
//列出file类的一些常用操作过滤、遍历等操作
public class FileUtils {
/**
* 列出指定目录下(包括其子目录)的所有文件
* @param dir
* @throws IOException
*/
public static void listDirectory(File dir)throws IOException{
if(!dir.exists()){
throw new IllegalArgumentException("目录"+"不存在");
}
if(!dir.isDirectory()){
throw new IllegalArgumentException(dir+"不是目录。。");
}
String[] filenames = dir.list();//返回字符串数组,不包含子目录下的孙子目录
for(String string:filenames){
System.out.println(dir+"\\"+string);
}
}
}
创建测试主文件FileUtilsTest.java
package com.tuzi;
import java.io.File;
import java.io.IOException;
public class FileUtilsTest {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
FileUtils.listDirectory(new File("E:\\BaiduNetdiskDownload"));
}
}
此测试目录下的文件或文件夹
运行结果:
遍历此目录下的所有文件或文件夹
注意:这里就要用到递归调用,在这里我就不列出测试主文件代码
package com.tuzi;
import java.io.File;
import java.io.IOException;
//列出file类的一些常用操作过滤、遍历等操作
public class FileUtils {
/**
* 列出指定目录下(包括其子目录)的所有文件
* @param dir
* @throws IOException
*/
public static void listDirectory(File dir)throws IOException{
if(!dir.exists()){
throw new IllegalArgumentException("目录"+"不存在");
}
if(!dir.isDirectory()){
throw new IllegalArgumentException(dir+"不是目录。。");
}
String[] filenames = dir.list();//返回字符串数组,不包含子目录下的孙子目录
// for(String string:filenames){
// System.out.println(dir+"\\"+string);
// }
//如果要遍历子目录下的内容就需要构造成file对象做递归操作,file提供了直接返回目录的方法
File[] files = dir.listFiles();//放回的是直接子目录(文件)的抽象
if(files!=null && files.length>0){
for(File file:files)
if(file.isDirectory()){
//递归
listDirectory(file);
}else{
System.out.println(file);
}
}
}
}
运行结果:
第三方支持
慕课网
JDK API