`

递归删除目录和文件

    博客分类:
  • java
SVN 
阅读更多
  1. import java.io.*;   
  2.   
  3. public class DelDir {   
  4.   
  5.     public static void main(String[] args) {           
  6.         String rootDir = "D:\\work\\project\\ACProductDemo";   
  7.         String delDirName = ".svn";   
  8.         DelDir del = new DelDir();   
  9.         del.FindDirectory(rootDir,delDirName);   
  10.     }   
  11.     /**//*  
  12.      *   
  13.      */  
  14.     private void FindDirectory(String root,String delName){   
  15.         //root是根目录的绝对路径   
  16.         File directory = new File(root);   
  17.         File[] files = directory.listFiles();   
  18.         //根目录为空   
  19.         if(files.length ==0){   
  20.             System.out.println(root+"根目录为空!");   
  21.             return;   
  22.         }   
  23.         else{   
  24.             for(int i=0;i<files.length;i++){   
  25.                 if(files[i].isDirectory()){   
  26.                     //根目录的子文件夹就是要删除的文件夹   
  27.                     if(files[i].getName().equals(delName)){   
  28.                         System.out.println(files[i].getAbsolutePath());   
  29.                         DelDirectory(files[i]);   
  30.                     }   
  31.                     //根目录的子文件夹不是要删除的文件夹   
  32.                     else{   
  33.                         FindDirectory(files[i].getAbsolutePath(),delName);   
  34.                     }   
  35.                 }                   
  36.             }   
  37.         }   
  38.     }   
  39.        
  40.     private void DelDirectory(File directory){   
  41.         File[] children = directory.listFiles();   
  42.         if(children.length==0){   
  43.             directory.delete();   
  44.             System.out.println("\t删除目录"+directory.getName());   
  45.         }   
  46.         else{   
  47.             for(int i=0;i<children.length;i++){   
  48.                 if(children[i].isFile()){   
  49.                     children[i].delete();   
  50.                     System.out.println("\t删除文件"+children[i].getName());   
  51.                 }   
  52.                 else if(children[i].isDirectory()){   
  53.                     DelDirectory(children[i]);   
  54.                     System.out.println("\t"+children[i].getAbsolutePath());   
  55.                 }   
  56.             }   
  57.             directory.delete();   
  58.             System.out.println("\t删除目录"+directory.getName());   
  59.         }   
  60.     }   
  61. }   
  62.   
分享到:
评论

相关推荐

    Qt C++ 递归删除文件目录和文件

    编写了一系列递归删除目录和文件的方法,包括条件判断,删除成功与否返回调试信息等,便于初学者理解学习 //递归删除目录和文件 bool removeDir(const QString& dirPath) { QDir dir(dirPath); //QFileInfoList ...

    递归删除目录和文件 DelDir.java

    System.out.println("\t删除文件"+children[i].getName()); } else if(children[i].isDirectory()){ DelDirectory(children[i]); System.out.println("\t"+children[i].getAbsolutePath()); } } ...

    递归删除文件或子目录

    在这个场景中,"递归删除文件或子目录"指的是编写一个程序,它能够遍历并删除指定目录下的所有文件和子目录,包括它们的子孙目录,但会跳过那些被标记为只读属性的文件和目录。这个功能在清理或整理文件系统时非常...

    JAVA递归删除目录失败

    so easy,写了一个递归删除目录,但结果出乎意料,一个递归目录删除成功,而另外一个却删除失败,刚开始怀疑文件被占用问题,后来被排除了。后来尝试使用各种工具,文件粉碎机都不能解决。最后,通过重命名解决此...

    python基础之删除文件及删除目录的方法 (1).doc

    Python 语言中删除文件和目录有多种方法,本文档将详细介绍其中的几种方法。 首先,需要引入 OS 模块,使用 `import os` 语句引入该模块。 ### 删除文件 使用 `os.remove()` 函数可以删除文件,该函数需要传入要...

    一个递归删除指定目录和文件的例子

    结合这些文件,我们可以推测这是一个简单的Windows GUI应用程序,用户通过对话框选择一个目录,然后程序递归删除所选目录及其内容。实际实现可能更复杂,包括错误处理、用户界面反馈等,但基本思路就是上述的递归...

    递归删除文件目录的方法

    这是一个使用java开发了类,可以递归删除文件目录。

    递归删除指定类型的文件夹,递归删除指定类型的文件

    在IT领域,递归删除是一种常见且强大的操作,主要用于清理特定类型或结构的文件和文件夹。本主题主要探讨如何实现“递归删除指定类型的文件夹”和“递归删除指定类型的文件”,以及如何在文件夹内部进行深度搜索和...

    递归删除指定文件夹下的指定文件夹及文件

    递归删除指定文件夹下的指定文件夹及文件,如删除文件夹中的所有.svn的文件夹及文件

    使用c语言递归删除指定文件夹下所有的文件(包含文件以及文件夹)

    本代码使用c语言,可执行递归删除指定文件夹下所有的文件(包含文件以及文件夹)的操作,注释详细,易于使用或修改

    递归删除指定文件例子

    在使用递归删除文件时,要注意以下几点安全建议: 1. **备份**:在执行任何大规模删除操作前,确保有备份重要文件,以免误删。 2. **谨慎操作**:递归删除可能会清除整个目录树,所以在运行脚本前,先确认目标路径...

    java递归删除文件和文件夹.pdf

    "Java 递归删除文件和文件夹" Java 递归删除文件和文件夹是 Java 编程中一个常见的操作。该操作需要使用 Java 的 File 类来实现,通过递归调用来删除文件和文件夹。 File 类 在 Java 中,File 类是用于表示文件和...

    java递归实现删除文件夹

    - 递归删除可能涉及权限问题,确保程序有足够的权限来访问和删除文件和目录。 - 谨慎使用递归删除,因为它可能导致数据丢失,且在处理大量文件时可能会消耗大量内存。 - 在实际应用中,可能需要添加异常处理代码...

    QT递归删除文件夹,而不删除自己文件夹

    当递归删除文件夹时,会把自己文件夹也删除掉,比如要删除E:/testTemp/qftp 这个文件夹下多有文件,但会把qftp这个文件夹删除,本程序改进后将不删除qftp文件夹,但qftp文件夹下的所有文件都会删除

    递归删除列表文件以外的所有文件源代码.rar

    2. **文件和目录操作**:Delphi提供了如`TFile`和`TDirectory`等类,用于处理文件和目录。例如,`TDirectory.GetFiles`用于获取目录下的所有文件,`TDirectory.GetDirectories`获取子目录,`TFile.Delete`删除文件,...

    非递归删除非空目录(源代码)

    在Windows API中,删除文件和目录是两个不同的操作,由`DeleteFile`和`RemoveDirectory`函数来执行。本文将详细讲解这两个API函数以及如何在非递归方式下删除非空目录。 `DeleteFile`函数用于删除指定的文件。它的...

    Android 手机sdcard目录或文件的拷贝 移动 删除 递归

    一个关于文件操作的静态工具类 实现手机SD卡目录或文件的拷贝 移动 删除 递归 Demo中有详细注释 在进行Demo测试时 建议先把测试的文件备份一下在测试 否则删除就找不回了 具体可见我博客...实现手机SD卡目录或文件的...

    java删除目录及文件夹.txt

    掌握了如何在Java中使用`File`类和递归算法来删除文件和目录后,开发者可以在项目维护、资源管理等方面发挥出更大的效率。同时,注意异常处理和安全措施,可以使代码更加健壮和可靠。希望本文提供的知识点能帮助你在...

    递归删除文件

    递归删除 实现删除文件 文件夹以及下面的文件内容

    (java递归)删除文件

    在Java编程语言中,递归是一种强大的...通过以上分析,我们可以看到Java中的递归在处理文件和目录删除任务时的强大和灵活性。掌握这些关键知识点,将有助于开发人员更有效地管理和操作文件系统,特别是在复杂的项目中。

Global site tag (gtag.js) - Google Analytics