Java编程迭代地删除文件夹及其下的所有文件实例

本文研究的是Java编程迭代地删除文件实例,具体实现代码如下。

实例代码:

public static void main(String[] args) {
    String filePath = "c:" + File.separator +"b";
    File file = new File(filePath);
    if (file.exists()) {
      if (file.isFile()) {
        deleteFile(filePath);
      } else {
        deleteDirectory(filePath);
      }
    } else {
      System.err.println("指定的目录或者文件不存在!");
    }
  }
  //删除单个文件或空的文件夹
  public static boolean deleteFile(String filePath) {
    File file = new File(filePath);
    //如果文件路径对应的文件存在,并且是一个文件,则直接删除
    if (file.exists() && file.isFile()) {
      if (file.delete()) {
        System.err.println("文件" + filePath + "删除成功!");
        return true;
      } else {
        System.err.println("文件" + filePath + "删除失败!");
        return false;
      }
    } else {
      System.err.println("文件" + filePath + "不存在!");
      return false;
    }
  }
  //删除文件夹及里面的文件
  public static boolean deleteDirectory (String dir) {
    if (!dir.endsWith(File.separator)) {
      dir = dir + File.separator;
    }
    File dirFile = new File(dir);
    //如果dir对应的问件不存在,或者不是一个目录,则退出
    if (!dirFile.exists() || !dirFile.isDirectory()) {
      System.err.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 {
        deleteDirectory(files[i].getAbsolutePath());
      }
    }
    //删除当前目录
    if (dirFile.delete()) {
      System.err.println("目录" + dir + "删除成功!");
      return true;
    } else {
      return false;
    }
  } 

总结

以上就是本文关于Java编程迭代地删除文件夹及其下的所有文件实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

您可能感兴趣的文章:

  • java 中迭代器的使用方法详解
  • java 中ArrayList迭代的两种实现方法
  • java 迭代器模式实例详解
  • Java实现的自定义迭代器功能示例
  • Java集合框架中迭代器Iterator解析
  • Java中的迭代和递归详解
  • 详解JAVA中的for-each循环与迭代
  • 详解Java中Iterator迭代器的用法
(0)

相关推荐

  • 详解JAVA中的for-each循环与迭代

    在学习java中的collection时注意到,collection层次的根接口Collection实现了Iterable<T>接口(位于java.lang包中),实现这个接口允许对象成为 "foreach" 语句的目标,而此接口中的唯一方法,实现的就是返回一个在一组 T 类型的元素上进行迭代的迭代器. 一.迭代器Iterator 接口:Iterator<T> public interface Iterator<E>{ boolean hasNext

  • java 中ArrayList迭代的两种实现方法

    java 中ArrayList迭代的两种实现方法 Iterator与for语句的结合来实现,代码很简单,大家参考下. 实现代码: package cn.us; import java.util.ArrayList; import java.util.Iterator; //ArrayList迭代的两种方法 //Iterator与for语句的结合 public class Test1 { public static void main(String[] args) { ArrayList arra

  • Java集合框架中迭代器Iterator解析

    Java里面的数组数据可以通过索引来获取,那么对象呢?也是通过索引吗?今天我们就来分析一下Java集合中获取集合对象的方法迭代-Iterator. 本篇文章主要分析一下Java集合框架中的迭代器部分,Iterator,该源码分析基于JDK1.8,分析工具,AndroidStudio,文章分析不足之处,还请指正! 一.简介 我们常常使用 JDK 提供的迭代接口进行 Java 集合的迭代. Iterator iterator = list.iterator(); while(iterator.has

  • 详解Java中Iterator迭代器的用法

    迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小. Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator.第一次调用Iterator的next()方法时,它返回序列的第一个元素.注意:iterator()方法是java.lang.Iterable接口,被Collection继承

  • Java实现的自定义迭代器功能示例

    本文实例讲述了Java实现的自定义迭代器功能.分享给大家供大家参考,具体如下: 编写自己的Iterator,实现Iterator接口,这里多说一句,实现Iterable后,可以用"foreach"循环遍历你的对象. import java.util.Iterator; import java.util.NoSuchElementException; /** * 演示Iterator和Iterable接口,并说明怎样编写一个用于对象数组的简单迭代器. */ public class Aa

  • java 中迭代器的使用方法详解

    java 中迭代器的使用方法详解 前言: 迭代器模式将一个集合给封装起来,主要是为用户提供了一种遍历其内部元素的方式.迭代器模式有两个优点:①提供给用户一个遍历的方式,而没有暴露其内部实现细节:②把元素之间游走的责任交给迭代器,而不是聚合对象,实现了用户与聚合对象之间的解耦. 迭代器模式主要是通过Iterator接口来管理一个聚合对象的,而用户使用的时候只需要拿到一个Iterator类型的对象即可完成对该聚合对象的遍历.这里的聚合对象一般是指ArrayList,LinkedList和底层实现为数

  • java 迭代器模式实例详解

    java 迭代器模式实例详解 今天来818设计模式中的迭代器模式,也是java中Stack,List,Set等接口以及数组这个数据结构都会使用的一种模式. 首先,为什么使用迭代器模式,目的就是通过一个通用的迭代方法,隐藏stack,list,set以及数组中不同的遍历细节.也就是说,我不想让那些调用我的遍历容器的方法的人知道我到底是怎么一个一个的获取这些元素的(stack的pop,list的get,数组的array[i]),我只想让他知道他能 通过一个迭代器Iterator或者通过一个for e

  • Java中的迭代和递归详解

    前言 最近在看书的时候看到这一内容,感觉还是蛮有收获的.迭代使用的是循环(for,while,do...wile)或者迭代器,当循环条件不满足时退出.而递归,一般是函数递归,可以是自身调用自身,也可以是非直接调用,即方法A调用方法B,而方法B反过来调用方法A,递归退出的条件为if,else语句,当条件符合基的时候退出. 上面是迭代和递归的语法特性,他们在Java中有什么不同呢?下面通过这篇文章来详细了解了解. 一.递归 提到迭代,不得不提一个数学表达式: n!=n*(n-1)*(n-2)*...

  • Java编程迭代地删除文件夹及其下的所有文件实例

    本文研究的是Java编程迭代地删除文件实例,具体实现代码如下. 实例代码: public static void main(String[] args) { String filePath = "c:" + File.separator +"b"; File file = new File(filePath); if (file.exists()) { if (file.isFile()) { deleteFile(filePath); } else { delet

  • Java如何在不存在文件夹的目录下创建文件

    核心代码如下所示: 1. String strPath = "E:\\a\\aa\\aaa.txt"; File file = new File(strPath); if(!file.exists())){ file.file.mkdirs(); } 2. String strPath = "E:\\a\\aa\\aaa.txt"; File file = new File(strPath); File fileParent = file.getParentFile

  • java查找文件夹下最新生成的文件的方法

    java 操作文件是非常重要的,主要是操作File类,这里一起探讨下,java怎么查找文件夹下最新生成的文件,希望对大家有帮助,谢谢 第一步 在本地电脑上找一个目录,包含几个文件,修改的时间有差别: 第二步 打开eclipse创建一个测试类,主要操作File类: 第三步 编写一个递归方法,可以变量这个目录下所有的文件,并输出文件的路径,和最后修改时间 第四步 定义main函数,调用递归函数,输出所有文件的修改时间: 第五步 修改print方法,记录出最近修改的文件路径和修改的时间: java如何

  • Java递归查找层级文件夹下特定内容的文件的方法

    目录 递归查找文件 引言 根据特定内容寻找文件位置 根据文件类型和文件名关键字查找相关文件 Tips 递归查找文件 引言 或许是文件太多,想找某个文件又忘记放哪了;又或者是项目改造,需要将外部调用接口进行改造,项目太多,又无法排查.那么怎么快速找到自己想要的内容就是一件值得思考的事情了. 根据特定内容寻找文件位置 package com.lizi.globalexception.Utils; import java.io.BufferedReader; import java.io.File;

  • C#实现判断文件夹存在与否并创建文件夹的方法

    本文实例讲述了C#实现判断文件夹存在与否并创建文件夹的方法.分享给大家供大家参考,具体如下: protected void Button1_Click(object sender, EventArgs e) { if (Directory.Exists(Server.MapPath("~/upimg/hufu")) == false)//如果不存在就创建file文件夹 { Directory.CreateDirectory(Server.MapPath("~/upimg/hu

  • IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法

    出处:https://www.cnblogs.com/SunSpring eclipse下面创建的Maven项目,使用mybatis.eclipse里面能正常启动,在idea中一直卡在maybatis 加载位置. 1.首先是不报错也没反应.这个时候需要我们重写SqlSessionFactoryBean 让错误显示出来. public class BeanFactory extends SqlSessionFactoryBean { @Override protected SqlSessionFa

  • Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法

    本文实例讲述了Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法.分享给大家供大家参考.具体如下: 这个东东本来是做来给公司数据同步用的:新服务器还没正式启用,旧的服务器还在使用,每天都有大量图片传到旧服务器上面,为了避免备份全部图片,所以写了这么个工具. 1. 运行效果如下图所示: 2. Python代码如下: 复制代码 代码如下: # coding=gbk ''' Created on 2011-1-7 @author: HH ''' import os,ConfigParse

  • Python列出一个文件夹及其子目录的所有文件

    python简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. 像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议. >>> import os >>> for i in os.walk("."): ... print i[0],"\n##"

  • asp.net 获取指定文件夹下所有子目录及文件(树形)

    #region 获取指定文件夹下所有子目录及文件(树形)         /****************************************          * 函数名称:GetFoldAll(string Path)          * 功能说明:获取指定文件夹下所有子目录及文件(树形)          * 参    数:Path:详细路径          * 调用示列:          *           string strDirlist = Server.M

  • Asp.net FileUpload上传文件夹并检测所有子文件的实现代码

    Asp.net FileUpload上传文件夹并检测所有子文件的实现代码,非常简单,具体内容如下所示: 1.在FileUpload控件添加一个属性 webkitdirectory=""就可以上传文件夹了 <asp:FileUpload ID="FileUpload1" runat="server" webkitdirectory="" /> 2.检测文件夹下所有子文件 string DirectoryName =

随机推荐