java删除文件(单个文件,文件夹,子文件夹) 20090812(jsp+servlet+access)

package IO.file; 


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); 
  








package com.hzsy.io; 


import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.IOException; 


public class DeleteFileUnit { 


//删除单个文件 
public static boolean deleteFile(String fileName) { 
   File file = new File(fileName); 
   if (file.exists()) { 
    file.delete(); 
    System.out.println("指定文件删除成功!!"); 
    return true; 
   } else { 
    System.out.println("指定文件不存在,不用删除"); 
    return false; 
   } 



//删除文件夹,包含子文件夹和文件 
//方法一. 
public static boolean deleteDirectory(String pathDirectory) { 
   if(!pathDirectory.endsWith(File.separator)) { 
    pathDirectory=pathDirectory+File.separator; 
   } 
   File file = new File(pathDirectory); 
  
   if (file.isDirectory()) { 
    File[] list = file.listFiles(); 
    for (int a = 0; a < list.length; a++) { 
     if (list[a].isFile()) { 
     
      DeleteFileUnit.deleteFile(list[a].getAbsolutePath()); 
     } 
     if (list[a].isDirectory()) { 
    
      DeleteFileUnit.deleteDirectory(list[a].getAbsolutePath()); 
     } 
    
    } 
    file.delete(); 
    return true; 
   } else { 
    System.out.println("指定文件夹不存在,不用删除"); 
    return false; 
   } 





//删除文件夹,包含子文件夹和文件 
//方法二. 
public static boolean deletefile(String delpath) 
    throws FileNotFoundException, IOException { 
   try { 
    File file = new File(delpath); 
    if (!file.isDirectory()) { 
     file.delete(); 
    } else if (file.isDirectory()) { 
     String[] filelist = file.list(); 
     for (int i = 0; i < filelist.length; i++) { 
      File delfile = new File(delpath + "\\" + filelist[i]); 
      if (!delfile.isDirectory()) 
       delfile.delete(); 
      else if (delfile.isDirectory()) 
       System.out.println("delpath_i="+delpath+"\\"+filelist[i]); 
      
       deletefile(delpath + "\\" + filelist[i]); 
     } 
     file.delete(); 
    } 
   } catch (FileNotFoundException e) { 
    e.printStackTrace(); 
   } 
   return true; 



public static void main(String[] args) throws FileNotFoundException, IOException { 
   /* 
   * String str="F:/PPLiveVAShareFlv/新建 Microsoft Excel 工作表.xls"; 
   * if(DeleteFileUnit.deleteFile(str)) { System.out.println("success"); 
   * }else { System.out.println("不是没有文件就是删除失败"); } 
   */ 
   String path = "F:/PPLiveVAShareFlv"; 
   if (DeleteFileUnit.deleteDirectory(path)) { 
    System.out.println("success"); 
    File file=new File(path); 
    if(!file.exists()) { 
     file.mkdir(); 
     System.out.println("本来是删除掉了,这里才创建的空文件夹"); 
    } 
   } else { 
    System.out.println("不是没有文件夹就是删除失败"); 
   } 



}


转载自:http://blog.163.com/liu7667715@126/blog/static/671324882010102922057944/




你可能感兴趣的:(java,删除文件,删除文件夹)