java删_JAVA删除文件夹
自己写了段删除文件夹的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删除文件夹相关推荐
- java 删除目录_java删除文件夹及子目录
packagetest;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.File;public ...
- java清空文件夹_java 删除文件夹中的所有内容而不删除文件夹本身的实例
package com.xx; import java.io.File; public class Test { public static void main(String[] args) { St ...
- java 创建、删除文件夹
1.创建文件夹 publicl static String createDirectory(HttpServletRequest request){ StringBuilder sb=new Stri ...
- java用递归删除文件夹_Java中通过递归调用删除文件夹下所有文件
摘自 : http://blog.sina.com.cn/s/blog_79333b2c0100xiu4.html import java.io.File; public class FileTest ...
- java 删除文件夹中的所有文件及文件夹
删除文件夹(前提:文件夹为空以及InputStream和OutputStream等一些数据文件流关掉[close()],否则文件无法删除) import java.io.File;/********* ...
- java 文件递归删除文件夹_Java十行代码实现递归删除文件夹中所有文件
递归删除文件夹中所有文件 要递归首先需要有方法.递归,即方法自己调用自己.一般在程序中很少使用,但在这个实现中,我们无法知道文件夹的深度,更无法根据深度来实现循环的嵌套. 递归两个重要条件: 终止边界 ...
- java删除相对路径文件夹_Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录...
Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator// F ...
- java删不掉_java删除文件删不掉相关阅读-java删除文件删不掉文章阅读-123文学网...
U盘里面的文件有些不想要了,想要删除的时候删不掉!遇到这种问题该怎么办呢?下面是小编分享的经验,一起来看一下吧. 1.在系统中打开电脑资源管理器,先选中U盘. 2.点击鼠标右键,在菜单中选择" ...
- java编程实现删除一个文件夹_Java实现文件夹删除方式总结详解
1 ,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件 /** * 根据路径删除指定的目录,无论存在与否 *@param sPath 要删除的目录pat ...
最新文章
- 河南关于领取软考2021年上半年合格证书的通知
- 0109互联网新闻 | 微信推智言对话系统“小微”,接入第三方生态;华为发布首款数据中心交换机...
- java 操作窗口_java selenium (十二) 操作弹出窗口
- (四)深入浅出TCPIP之TCP三次握手和四次挥手(下)的抓包分析
- 1.Redis简介与基本命令
- dataframe存到mysql中_pandas实现to_sql将DataFrame保存到数据库中
- android fragment点击返回键实现内容切换?
- Java_模拟comet的实现
- sql语句分组mysql_MySQL GROUP BY 语句_sql语句group by_分组
- 第四方支付平台程序源码_云计费系统源码
- “内容为王”时代,游戏渠道商还能“躺赢”吗?
- 高薪职业,英年早秃?关于程序员,多的是你不知道的事……
- 海洋cms 模板标签手册
- QT根据屏幕分辨率调整控件
- AndroidStudio打包AAR供Unity使用流程
- 智慧园区运行监控中心
- extern C和__declspec(dllexport)以及__declspec(dllimport) 和def的简单解析
- 量子加密通信与量子传感技术相关精简介绍
- windows server:关闭ie增强安全配置
- 全栈必备的技术栈设想