- 浏览: 305282 次
- 性别:
- 来自: 江阴
文章分类
最新评论
import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; public class DeleterDir { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss"); System.out.println("Begin time is: " + sdf.format((new Date()))); DeleterDir.searchDirs("D:\\project", ".svn"); System.out.println("End time is: " + sdf.format((new Date()))); System.out.println("Ok......."); } public static void searchDirs(String dir, String targetDir) { File root = new File(dir); File[] filesOrDirs = root.listFiles(); for (int i = 0; i < filesOrDirs.length; i++) { if (filesOrDirs[i].isDirectory()) { if (filesOrDirs[i].getName().equals(targetDir)) { // 如果找到该目录,删除目录 deleteDir(filesOrDirs[i].getAbsoluteFile()); continue; } if (filesOrDirs[i].isDirectory() && filesOrDirs[i] != null && filesOrDirs[i].exists()) { searchDirs(filesOrDirs[i].getAbsolutePath(), targetDir); } } } } /** * 删除目录(空目录或者非空目录) * @param dir */ public static void deleteDir(File dir) { // 检查参数 if (dir == null || !dir.exists() || !dir.isDirectory()) { return; } for (File file : dir.listFiles()) { if (file.isFile()) { file.delete(); // 删除目录 } else if (file.isDirectory()) { deleteDir(file); // 递规的方式删除目录 } } dir.delete(); // 删除目录本身 } }
修改以后 采用了 org.apache.commons.io.FileUtils 中的删除文件方法。
import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.io.FileUtils; public class DeleterDir2 { public static void main(String[] args) throws IOException { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss"); System.out.println("Begin time is: " + sdf.format((new Date()))); DeleterDir.searchDirs("F:\\temp\\2011", ".svn"); System.out.println("End time is: " + sdf.format((new Date()))); System.out.println("Ok......."); } public static void searchDirs(String dir, String targetDir) throws IOException { File root = new File(dir); File[] filesOrDirs = root.listFiles(); for (int i = 0; i < filesOrDirs.length; i++) { if (filesOrDirs[i].isDirectory()) { if (filesOrDirs[i].getName().equals(targetDir)) { // 如果找到该目录,删除目录 FileUtils.deleteDirectory(filesOrDirs[i].getAbsoluteFile()); continue; } if (filesOrDirs[i].isDirectory() && filesOrDirs[i] != null && filesOrDirs[i].exists()) { searchDirs(filesOrDirs[i].getAbsolutePath(), targetDir); } } } } }
评论
2 楼
xiejiaohui
2011-08-06
zdjray 写道
非常不错,可以用起来啊
最后面也可以直接使用apache的包
org.apache.commons.io.FileUtils.deleteDirectory(f);//删除目录
最后面也可以直接使用apache的包
org.apache.commons.io.FileUtils.deleteDirectory(f);//删除目录
感谢提醒,已经采用了这个方法,程序简短很多。
1 楼
zdjray
2011-03-12
非常不错,可以用起来啊
最后面也可以直接使用apache的包
org.apache.commons.io.FileUtils.deleteDirectory(f);//删除目录
最后面也可以直接使用apache的包
org.apache.commons.io.FileUtils.deleteDirectory(f);//删除目录
发表评论
-
求一个四位数,这个数字乘以9以后,等于这个数的倒序
2014-01-06 15:54 2441求一个四位数,这个数字乘以9以后,等于这个数的倒序 pa ... -
java reader file & writer file
2013-12-12 19:33 1300package com.xjh.dh; import ... -
Java Puzzlers
2013-11-26 22:31 882package com.xjh.study; pub ... -
java ProcessBuidler
2013-11-23 16:10 659import java.io.File; impor ... -
java txt to excel
2013-11-16 11:40 1054package com.xiejiaohui.dc; ... -
java程序在tomcat环境下读取配置文件
2013-08-02 21:43 1683package com.xiejiaohui.core; ... -
inno setup 下载地址
2013-07-15 14:37 698经常要制作安装文件的,大部分的人是用inno setup 来制 ... -
我的第一个 web server 程序
2013-03-08 22:26 986参考书《How Tomcat Works》这本书非常好,我觉得 ... -
我的第一个 Jetty 程序
2013-03-08 22:08 1241参考网上的例子 在 eclipse 中新建 java 项目 ... -
计算两个日期的相隔天数
2013-02-17 21:16 929package com.xjh.util; impo ... -
java读取文件和写入文件
2013-01-11 21:49 1220package com.xjh.util; imp ... -
读取两个文件中的行数,写入第三个文件
2013-01-11 14:44 1449有一个联行号的文件,和一个银行文件,需要读取联行号文件中的某行 ... -
我写的一个读取文件写入excel的程序
2013-01-07 21:18 1313我最近写了一个程序,这个程序的需求是这样的: 1 读取一个t ... -
比较数组中的两个账号是否相同(初学者)
2012-09-03 19:54 885Comparer.java package com.xj ... -
测试_20120818
2012-08-18 19:46 945Calculater.java package com. ... -
java加密解密
2011-11-05 14:48 658http://snowolf.iteye.com/blog/3 ... -
一个小学五年级的暑假作业
2011-08-24 11:12 770请你从字母算式里写出数字计算。 W I N ... -
Java 读文件,写文件
2010-05-31 08:20 1646package com.xjh.util; import ... -
判断一个日期字符串是否输入正确
2010-01-16 14:54 1396import java.text.ParseExcepti ... -
jsp页面中不能显示图片
2008-06-13 14:29 3758在 AIX 5.3 操作系统,WebSphere 5.1 应用 ...
相关推荐
java递归删除整个文件夹,可以文件夹中所有的文件和子文件夹
使用递归删除树形结构的所有子节点(java和mysql实现) 在树形结构中删除某个父节点时,需要递归删除其所有子节点,以避免遗留冗余数据。下面将为大家介绍使用 Java 和 MySQL 实现递归删除树形结构的所有子节点的...
### Java中遍历某个目录下的所有文件及文件夹中的文件 在Java开发中,经常会遇到需要遍历指定目录及其子目录下所有文件的情况。本文将详细介绍如何使用Java标准库中的`java.io.File`类来实现这一功能。我们将通过一...
使用递归删除文件
工具类的实现可能包含一个递归函数,先获取目标节点的所有子节点,然后对每个子节点调用自身进行递归删除,最后删除目标节点。 4. **错误处理**:在操作过程中,可能会遇到权限不足、节点不存在等异常,因此需要...
总结起来,Java递归文件查找是通过递归遍历文件夹结构来实现的,结合`File`类或第三方库如Apache Commons IO,我们可以有效地搜索特定文件。同时,利用源码分析工具和IDE可以帮助我们理解和优化这些操作。在实际开发...
Java提供了丰富的API来处理文件系统相关的操作,包括读取、创建、删除文件以及遍历目录等。这里我们将详细讲解如何在Java中实现这个功能。 首先,你需要导入Java的`java.io`包,它包含了处理文件和输入/输出流的...
综上所述,编写一个能够复制包含多级子目录和文件的Java应用程序需要理解文件和目录操作、递归、异常处理、日期格式化以及可能的用户交互设计。通过合理组合这些知识点,可以构建出一个功能完整的目录复制工具。
本文档将详细介绍一个基于Java的实用工具类`FtpClientUtil`,该类提供了一系列功能来与FTP服务器交互,包括连接到服务器、上传文件、下载文件、获取文件列表、删除文件和目录以及关闭连接等操作。 #### 二、`...
例如,`del /s *.class`会递归删除当前目录及其子目录下的所有`.class`文件。 4. **命令行参数**: - `/s` 参数表示在当前目录及其所有子目录中执行操作。 - `/q` 参数用于安静模式,删除时不提示确认。 - `/f` ...
Java 7引入了java.nio.file包,其中的WatchService接口可以注册对目录的监听,当目录有新增、删除或重命名等事件发生时,我们可以接收到通知并更新控件。 此外,为了让目录树更具交互性,我们可以添加各种事件监听...
Java递归删除文件是指使用递归算法来删除文件夹下所有文件的方法。在上面的代码中,我们使用了递归算法来删除文件夹下所有文件。该方法将检查文件夹下所有文件,如果是文件夹,则递归调用该方法来删除文件夹下的所有...
- 这个示例没有处理递归删除子文件夹的情况。如果需要删除整个文件夹及其内容,需要递归遍历子文件夹并调用删除方法。 - 文件操作可能引发异常,如 `FileNotFoundException` 或 `IOException`,在实际项目中应该...
希尔排序的基本思想是先将待排序的元素按某个增量分组,对每组进行直接插入排序,然后逐渐减小增量,直至为1,最终整个序列有序。希尔排序的时间复杂度介于O(n)和O(n^2)之间,具体取决于增量序列的选择。 **哈希...
`File`类提供了多种方法来操作文件和目录,包括创建、删除、重命名等。 创建多级目录的关键在于使用`mkdirs()`方法。这个方法会递归地创建目录,直到指定的完整路径存在。如果路径中的某个中间目录已经存在,`...
当解析器遇到输入中的某个符号时,它会调用相应的函数,这些函数可能进一步调用其他函数,直至遇到终结符并返回,形成一个递归过程。 2. **忽略注释**:在解析程序中,需要包含处理注释的功能,通常这会通过扫描...