Java刪除文件和目錄的源代碼

2010-10-19 09:53:07來源:作者:

 package book.io;

 package book.io;

  import java.io.File;

  /**

  *

  * @author XWZ

  * 2007-11-27

  * 刪除文件或目錄

  */

  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.isFile() && file.exists()){

  file.delete();

  System.out.println("刪除單個文件"+fileName+"成功!");

  return true;

  }else{

  System.out.println("刪除單個文件"+fileName+"失敗!");

  return false;

  }

  }

  /**

  * 刪除目錄(文件夾)以及目錄下的文件

  * @param   dir 被刪除目錄的文件路徑

  * @return  目錄刪除成功返回true,否則返回false

  */

  public static boolean deleteDirectory(String dir){

  //如果dir不以文件分隔符結(jié)尾,自動添加文件分隔符

  if(!dir.endsWith(File.separator)){

  dir = dir+File.separator;

  }

  File dirFile = new File(dir);

  //如果dir對應(yīng)的文件不存在,或者不是一個目錄,則退出

  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 = deleteFile(files[i].getAbsolutePath());

  if(!flag){

  break;

  }

  }

  //刪除子目錄

  else{

  flag = deleteDirectory(files[i].getAbsolutePath());

  if(!flag){

  break;

  }

  }

  }

  if(!flag){

  System.out.println("刪除目錄失敗");

  return false;

  }

  //刪除當(dāng)前目錄

  if(dirFile.delete()){

  System.out.println("刪除目錄"+dir+"成功!");

  return true;

  }else{

  System.out.println("刪除目錄"+dir+"失!");

  return false;

  }

  }

  public static void main(String[] args) {

  //String fileName = "g:/temp/xwz.txt";

  //DeleteFileUtil.deleteFile(fileName);

  String fileDir = "G:/temp/temp0/temp1";

  //DeleteFileUtil.deleteDirectory(fileDir);

  DeleteFileUtil.delete(fileDir);

  }

  }
 

關(guān)鍵詞:java