您的位置:首页 > 编程语言 > Java开发

java递归处理文件夹和文件

2016-02-16 09:53 417 查看
import java.io.File;

/**
* 文件综合使用示例
*/
public class FileDelete {
public static void main(String[] args) {
File f = new File("d:\\test");
printAllFile(f);
File f1 = new File("d:\\test");
deleteAll(f1);
}

/**
* 打印f路径下所有的文件和文件夹
*
* @param f
*            文件对象
*/
public static void printAllFile(File f) {
// 打印当前文件名
System.out.println(f.getName());
// 是否是文件夹
if (f.isDirectory()) {
// 获得该文件夹下所有子文件和子文件夹
File[] f1 = f.listFiles();
// 循环处理每个对象
int len = f1.length;
for (int i = 0; i < len; i++) {
// 递归调用,处理每个文件对象
printAllFile(f1[i]);
}
}
}

/**
* 删除对象f下的所有文件和文件夹
*
* @param f
*            文件路径
*/
public static void deleteAll(File f) {
// 文件
if (f.isFile()) {
f.delete();
} else { // 文件夹
// 获得当前文件夹下的所有子文件和子文件夹
File f1[] = f.listFiles();
// 循环处理每个对象
int len = f1.length;
for (int i = 0; i < len; i++) {
// 递归调用,处理每个文件对象
deleteAll(f1[i]);
}
// 删除当前文件夹
f.delete();
}
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: