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不以文件分隔符结尾,自动添加文件分隔符

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

  if(!flag){

  break;

  }

  }

  //删除子目录

  else{

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

  if(!flag){

  break;

  }

  }

  }

  if(!flag){

  System.out.println("删除目录失败");

  return false;

  }

  //删除当前目录

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

  }

  }
 

关键词:java