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

发表于:2007-06-17来源:作者:点击数: 标签:
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

   

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[i].isFile()) {
     if (files[i].getName().equals(filelist[j])) {
      flag = false;
      break;
     } else {
      flag = true;
     }
    } else if (files[i].isDirectory()) {
     del(files[i]);
    }

   }
   if (flag) {
    files[i].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[i]));
   f.delete();
  }
 }

原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)