自己写了段删除文件夹的JAVA代码。因为java.io.File只能删除文件和空文件夹,所以写了这段代码。采用树的后根序遍历的算法写成。没有使用递归,而是用的循环方式。使用file.getParent()方法来获得父节点。

下面是代码:

import java.io.File;

/**

* 删除文件或者文件夹

* @author zhangchao

*

*/

public class FileUtils {

/** 这个方法删除文件或者文件夹 */

public final static void del(File file) {

// 如果是文件就直接删除.

if (file.isFile()) {

file.delete();

return;

}

// 如果是文件夹就继续向下执行代码

File[] list = null;

File currentDir = file;

while (currentDir.isDirectory()) {

// 取得子文件或者子文件夹

list = currentDir.listFiles();

// 如果当前文件夹有子文件或者子文件夹

if (null != list && list.length > 0) {

// 遍历每一个子节点

for (File tmp : list) {

// 如果子节点是文件,直接删除

// 如果子节点是文件夹,把currentDir赋值为子节点

if (tmp.isFile()) {

tmp.delete();

} else {

currentDir = tmp;

break;

}

}

}

// 如果 'currentDir' 引用指向用户输入的'file'变量,并且文件夹

// 是空的,删除文件夹并且终止循环

// delete the directory and stop the loop.

else if (currentDir.equals(file)) {

// 删除空文件夹

currentDir.delete();

// 终止循环

break;

}

// 如果 'currentDir' 引用指向空文件夹并且这个空文件夹不是用户输入的文件夹

else {

// 保存父文件夹.

File tmpDir = currentDir.getParentFile();

// 删除空文件夹.

currentDir.delete();

// 使 'currentDir' 引用指向父文件夹.

currentDir = tmpDir;

}

}

}

}

下面演示如何使用这个方法:

package zc;

import java.io.File;

public class Main {

public static void main(String[] args) {

FileUtils.del(new File("E:/啊啊啊/"));

}

}

下面是代码的下载链接:

http://download.csdn.net/detail/zhangchao19890805/6044377

java删_JAVA删除文件夹相关推荐

  1. java 删除目录_java删除文件夹及子目录

    packagetest;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.File;public ...

  2. java清空文件夹_java 删除文件夹中的所有内容而不删除文件夹本身的实例

    package com.xx; import java.io.File; public class Test { public static void main(String[] args) { St ...

  3. java 创建、删除文件夹

    1.创建文件夹 publicl static String createDirectory(HttpServletRequest request){ StringBuilder sb=new Stri ...

  4. java用递归删除文件夹_Java中通过递归调用删除文件夹下所有文件

    摘自 : http://blog.sina.com.cn/s/blog_79333b2c0100xiu4.html import java.io.File; public class FileTest ...

  5. java 删除文件夹中的所有文件及文件夹

    删除文件夹(前提:文件夹为空以及InputStream和OutputStream等一些数据文件流关掉[close()],否则文件无法删除) import java.io.File;/********* ...

  6. java 文件递归删除文件夹_Java十行代码实现递归删除文件夹中所有文件

    递归删除文件夹中所有文件 要递归首先需要有方法.递归,即方法自己调用自己.一般在程序中很少使用,但在这个实现中,我们无法知道文件夹的深度,更无法根据深度来实现循环的嵌套. 递归两个重要条件: 终止边界 ...

  7. java删除相对路径文件夹_Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录...

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator// F ...

  8. java删不掉_java删除文件删不掉相关阅读-java删除文件删不掉文章阅读-123文学网...

    U盘里面的文件有些不想要了,想要删除的时候删不掉!遇到这种问题该怎么办呢?下面是小编分享的经验,一起来看一下吧. 1.在系统中打开电脑资源管理器,先选中U盘. 2.点击鼠标右键,在菜单中选择" ...

  9. java编程实现删除一个文件夹_Java实现文件夹删除方式总结详解

    1 ,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件 /** *  根据路径删除指定的目录,无论存在与否 *@param sPath  要删除的目录pat ...

最新文章

  1. 河南关于领取软考2021年上半年合格证书的通知
  2. 0109互联网新闻 | 微信推智言对话系统“小微”,接入第三方生态;华为发布首款数据中心交换机...
  3. java 操作窗口_java selenium (十二) 操作弹出窗口
  4. (四)深入浅出TCPIP之TCP三次握手和四次挥手(下)的抓包分析
  5. 1.Redis简介与基本命令
  6. dataframe存到mysql中_pandas实现to_sql将DataFrame保存到数据库中
  7. android fragment点击返回键实现内容切换?
  8. Java_模拟comet的实现
  9. sql语句分组mysql_MySQL GROUP BY 语句_sql语句group by_分组
  10. 第四方支付平台程序源码_云计费系统源码
  11. “内容为王”时代,游戏渠道商还能“躺赢”吗?
  12. 高薪职业,英年早秃?关于程序员,多的是你不知道的事……
  13. 海洋cms 模板标签手册
  14. QT根据屏幕分辨率调整控件
  15. AndroidStudio打包AAR供Unity使用流程
  16. 智慧园区运行监控中心
  17. extern C和__declspec(dllexport)以及__declspec(dllimport) 和def的简单解析
  18. 量子加密通信与量子传感技术相关精简介绍
  19. windows server:关闭ie增强安全配置
  20. 全栈必备的技术栈设想

热门文章

  1. Flutter布局锦囊---绑定手机页
  2. 中国水灭火器行业市场供需与战略研究报告
  3. 中国邻苯二甲酸二环己酯(DCHP)行业市场供需与战略研究报告
  4. 2021年中国电动牙刷市场趋势报告、技术动态创新及2027年市场预测
  5. java字符替换函数示例_Java字符串替换函数replace()用法解析
  6. 为了离去的纪念——google
  7. 其实,API 编程并不难!
  8. 总是收到 i/o timeout 报错,这里有 HTTP 的避坑指南!
  9. 字节跳动联邦学习平台通过中国信通院首批评估 数据安全能力得到专业验证
  10. Linux 内核中用 GFP_ATOMIC 申请内存究竟意味着什么?