`
xiuying
  • 浏览: 544805 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

java递归删除文件和文件夹

    博客分类:
  • java
阅读更多
public class  DelFileTest()
{


private static File m_root;   //记录要删除的路径
private static ArrayList m_dirs;

/**
   * 功能:获取所有文件和文件夹,存储在m_dirs中
   * 注意:递归调用
   * @param tempRoot 文件路径
   */
private void visitAll(File tempRoot){
try{
    //获取指定路径下的所有文件
File[] dirs=tempRoot.listFiles();
  
if(dirs!=null){
     //将文件数组转换成List对象
     List dirslist=Arrays.asList(dirs);
   
     //将dirslist完全添加到m_dirs中
     m_dirs.addAll(dirslist);
   
     //递归调用
     for(int i=0 ; i<dirslist.size() ; i++){
      this.visitAll((File)dirslist.get(i));
     }   
}
  }catch(Exception ex){
    System.out.println("error in visitAll : "+ex.getMessage());
  }
    
}


/**
   * 功能:删除文件或文件夹
   * 注意:使用倒叙删除,先删除文件,然后删除空文件夹
   */
private void rootDelete(){
   try{ 
    if(m_dirs!=null){
     //使用倒叙循环删除(先删除文件,再删除文件夹)
     for(int i=m_dirs.size()-1 ; i>=0 ; i--){
      File f=(File)m_dirs.remove(i);//获取之后删除list中的数据
        //删除数据
      if(!f.delete()){
       System.out.println("文件路径:"+f.toString()+" 不存在");
      }
     }
    }else{
    System.out.println("获取文件list列表(m_dirs)为空");
    }
   }catch(Exception ex){
   System.out.println("error in rootDelete : "+ex.getMessage());
   }
}


/**
   * 功能:删除文件夹方法
   * @param dir 要删除的文件夹路径(java.io.File类型)
   */
private void deleteDirs(java.io.File dir){
   try{
   m_root=dir;
        m_dirs= new ArrayList();
        
        if(!m_root.isDirectory()){ //判断输入的是否为路径
           System.out.println(m_root.toString()+" 不是路径");
        }else{
           //输出m_dirs中记录的值
           //for(int i=0 ; i<m_dirs.size() ; i++){
           // System.out.println(((File)m_dirs.get(i)).toString());
           //}
           m_dirs.add(m_root);
         
           this.visitAll(m_root); //获取指定路径下的所有文件已经文件夹(递归调用)
           this.rootDelete();   //删除list中的所有文件(倒叙循环删除)
        }
   }catch(Exception ex){
   System.out.println("error in deleteDirs : "+ex.getMessage());
   } 
}



public static void main(String[] args)
{
File tmp = new File("d:/temp");   //这个文件夹事先自己先建好!
this.deleteDirs(tmp);
}
}
分享到:
评论

相关推荐

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

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

    java递归实现删除文件夹

    在Java编程中,删除文件夹及其子文件夹通常涉及到递归操作,因为文件夹可能包含多个层级的子文件和子文件夹。递归是一种在函数内部调用自身的方法,用于解决具有相同结构的问题。以下是对Java中递归实现删除文件夹这...

    java删除某个文件夹

    java递归删除整个文件夹,可以文件夹中所有的文件和子文件夹

    java创建和删除文件夹、文件

    需要注意的是,对于删除文件夹的操作,如果文件夹非空,则需要先递归删除其中的所有文件和子文件夹后才能删除该文件夹。此外,在处理文件系统相关的操作时,建议捕获并妥善处理可能出现的各种异常情况,确保程序的...

    java创建和删除文件夹、文件.doc

    通过上述代码示例,我们可以清晰地了解到如何使用Java进行文件夹和文件的基本操作。需要注意的是,在实际开发过程中,对于文件系统的操作还需要考虑更多的异常情况,并做好异常处理。此外,对于文件夹的删除操作,还...

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

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

    java 删除文件或文件夹

    此方法用于递归删除目录及其子文件和子目录。它首先确保传入的路径以文件分隔符结尾,然后创建一个`File`对象来表示这个目录。接着检查该目录是否存在且确实为一个目录。如果满足条件,则遍历该目录下的所有文件和子...

    删除文件夹和文件夹里面的文件

    使用递归删除文件

    java删除指定文件夹下文件

    在JDK 7及以上版本中,Java提供了一种更加高效且灵活的方式来删除文件,包括递归删除整个文件夹及其子文件,这主要通过`java.nio.file`包中的`Files`类和`SimpleFileVisitor`类来实现。下面我们将详细探讨如何实现这...

    java管理hdfs文件和文件夹项目hadoop2.4

    本文将深入探讨使用Java管理HDFS文件和文件夹的关键知识点,特别是基于Hadoop 2.4版本。 首先,理解HDFS的基础概念至关重要。HDFS是一种分布式文件系统,设计用于跨大量廉价硬件节点存储和处理大数据。它遵循主从...

    java利用递归算法实现对文件夹的删除功能

    否则,遍历文件夹中的所有文件和子文件夹,递归地删除每个文件和子文件夹,最后删除当前文件夹。 在实现文件夹删除功能时,我们需要使用 File 类的多种方法,包括 isFile()、list()、delete() 和 listFiles()。其中...

    java文件夹及文件复制

    3. **递归复制文件夹**:当需要复制一个文件夹及其所有子文件夹和文件时,我们会使用递归方法。基本步骤如下: - 检查是否为文件夹:使用`File.isDirectory()`方法判断。 - 创建目标文件夹:如果目标路径不存在,...

    递归删除文件目录的方法

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

    java递归实现复制一个文件夹下所有文件功能

    Java递归实现复制文件夹下所有文件功能 ...Java递归实现复制文件夹下所有文件功能是一种高效的文件复制方案,使用递归算法可以遍历文件夹下的所有文件和文件夹,然后使用FileInputStream和FileOutputStream来复制文件。

    Java语言描述递归删除

    Java语言中的递归删除是一种常见的文件操作,尤其在处理文件夹结构时非常有用。递归是一种编程技术,它允许函数或方法调用自身来解决复杂问题。在这个Java程序中,递归被用来遍历和删除指定目录及其子目录中的所有...

    java移动文件夹下所有文件

    总的来说,Java提供了强大的文件操作API,使得我们可以轻松地移动文件和文件夹。在实际应用中,还应该考虑异常处理、权限问题、并发访问等问题,以确保代码的健壮性和安全性。在进行大量文件操作时,可能还需要考虑...

    java删除文件夹的代码

    } else { // 如果是子文件夹,递归删除(这里用循环模拟递归) deleteFolderRecursively(file); } } } // 在删除完所有文件和子文件夹后,删除空文件夹 folder.delete(); } else { System.out.println(...

    JAVA获取FTP文件列表

    本文档将详细介绍一个基于Java的实用工具类`FtpClientUtil`,该类提供了一系列功能来与FTP服务器交互,包括连接到服务器、上传文件、下载文件、获取文件列表、删除文件和目录以及关闭连接等操作。 #### 二、`...

    FileUploadUtil.java(文件上传工具类)

    删除文件夹,递归删除目录下的所有文件及子目录下所有文件,函数名:getFile 作用:使用递归,输出指定文件夹内的所有文件 参数:path:文件夹路径 前置空格缩进,显示文件层次结构,通过文件名称获取导入文件到temp...

    java代码新建文件夹

    `File`类提供了多种方法来操作文件系统,包括创建、删除文件或目录等。在本例中,我们关注的是如何通过`mkdirs()`方法来创建文件夹。 ### 创建文件夹的基本步骤 1. **定义文件路径**:首先需要明确想要创建文件夹...

Global site tag (gtag.js) - Google Analytics