java删除文件(摘)

来源:互联网 发布:软件人才培训机构 编辑:程序博客网 时间:2024/04/27 22:10

import java.io.File;

/**
*
除文件和目

* @author chen
*/
public class DeleteFileUtil {

/**
*
除文件,可以是文件或文件
* @param fileName
除的文件名
* @return
除成功返回true,否返回false
*/
public static boolean delete(String fileName) {
   File file = new File(fileName);
   if(!file.exists()) {
    System.out.println("
除文件失:" + fileName + "不存在!
");
    return false;
   } else {
    if(file.isFile())
     return deleteFile(fileName);
    else
     return deleteDirectory(fileName);
   }
}

/**
*
个文件

* @param fileName
除的文件的文件名
* @return
个文件除成功返回true,否返回false
*/
public static boolean deleteFile(String fileName) {
   File file = new File(fileName);
   //
如果文件路径所对应的文件存在,并且是一个文件,直接

   if(file.exists() && file.isFile()) {
    if(file.delete()) {
     System.out.println("
个文件" + fileName + "成功!");
       return true;
    } else {
     System.out.println("
个文件" + fileName + "
");
       return false;
    }
   } else {
    System.out.println("
个文件失" + fileName + "不存在!
");
      return false;
   }
}

/**
*
除目及目下的文件

* @param dir
除的目的文件路径
* @return
录删除成功返回true,否返回false
*/
public static boolean deleteDirectory(String dir) {
   //
如果dir不以文件分隔符尾,自添加文件分隔符

   if(!dir.endsWith(File.separator))
    dir = dir + File.separator;
   File dirFile = new File(dir);
   //
如果dir对应的文件不存在,或者不是一个目退出
   if((!dirFile.exists()) || (!dirFile.isDirectory())) {
    System.out.println("
除目" + dir + "不存在!");
    return false;
   }
   boolean flag = true;
   //
除文件中的所有文件包括子目

   File[] files = dirFile.listFiles();
   for(int i = 0; i < files.length; i++) {
    //
除子文件
    if(files[i].isFile()) {
     flag = DeleteFileUtil.deleteFile(files[i].getAbsolutePath());
     if(!flag)
      break;
    }
    //
除子目
    else if(files[i].isDirectory()) {
     flag = DeleteFileUtil.deleteDirectory(files[i].getAbsolutePath());
     if(!flag)
      break;
    }
   }
   if(!flag) {
    System.out.println("
除目");
    return false;
   }
   //
除当前目

   if(dirFile.delete()) {
    System.out.println("
除目" + dir + "成功!");
    return true;
   } else {
    return false;
   }
}

public static void main(String[] args) {
   //
个文件

   String file = "c:/test/test0/test1/test2/testFile.txt";
   DeleteFileUtil.deleteFile(file);
   System.out.println();
   //
除一个目
   String dir = "c:/test/test0/test1";
   DeleteFileUtil.deleteDirectory(dir);
   System.out.println();
   //
除文件
   dir = "c:/test/test0";
   DeleteFileUtil.delete(dir);  
}

}

原创粉丝点击