chenyiqidan 发表于 2008-12-30 11:14:24

递归删除与给定的文件名不符的文件

import java.io.*;
/*
* 递归删除文件夹内与给定的文件名不符的文件和所有的文件夹
*/
public class Test3 {
public static void checkName(String[] filelist) {
File file = new File("D:\\temp");
File[] files = file.listFiles();
boolean flag = true;
for (int i = 0; i < files.length; i) {
   for (int j = 0; j < filelist.length; j) {
    if (files.isFile()) {
   if (files.getName().equals(filelist)) {
      flag = false;
      break;
   } else {
      flag = true;
   }
    } else if (files.isDirectory()) {
   del(files);
    }
   }
   if (flag) {
    files.delete();
   }
}
}
private static void del(File f) {
if (f.isFile()) {
   f.delete();
} else if (f.isDirectory()) {
   String[] files = f.list();
   for (int i = 0; i < files.length; i)
    del(new java.io.File(f.getAbsolutePath()   "\\"   files));
   f.delete();
}
}
页: [1]
查看完整版本: 递归删除与给定的文件名不符的文件