- 浏览: 762424 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (241)
- 个人思考 (1)
- 数据库 (5)
- java基础 (32)
- 软件工程 (2)
- zk开源框架 (15)
- 设计模式 (25)
- javascript (12)
- css (9)
- UML (2)
- CMMI软件需求 (3)
- CMMI软件设计 (2)
- CMMI软件实现 (1)
- CMMI软件测试 (1)
- 正则表达式 (4)
- 系统日志配置 (4)
- 应用服务器 (1)
- spring (7)
- XML (6)
- java web (10)
- Ajax (3)
- RichFaces (14)
- 问题 (1)
- 评论文章 (2)
- fushioncharts (2)
- MAVN (4)
- jquery (26)
- Ext js学习 (2)
- 学习心得 (2)
- CSS兼容问题 (3)
- XSL-FOP (1)
- Quartz (0)
- OSGI (1)
- spring--security (6)
- apache tools (1)
- eclispe 小技巧 (2)
- Ant (1)
- 杂记 (1)
- spring3系列 (5)
- java cache (4)
- EffectiveJava (2)
- 代码重构 (0)
最新评论
-
psz6696:
可以说是超级简单的Demo了,可惜没有演示设值注入和构造注入两 ...
模拟spring中的ClassPathXmlApplicationContext类的实现 -
ziyourJava:
[flash=200,200][img][url][list] ...
spring security进级篇 V 自定义标签控制显示 -
ztw1122:
...
zk组件开发指南(目录) -
zjysuv:
容我说一句 在座的各位都是垃圾 spring 3.2以后的@C ...
三. spring mvc 异常统一处理 -
chengwu1201:
二 基于Spring的异常体系处理
对文件的操作,大家都可能会写一些操作,其实Apache中FileUtils已经做了很好的封装,今天将常用的操作记录如下:
(1)保留规定的前几个月的记录如下:
/** * 清理目录中过期的文件 * * @param dayCount * :保存时间天数 * @param dirPath * :目录路径 * @return */ @SuppressWarnings("unchecked") private static boolean deleteFiles(String dirPath, String backupPath, int days, boolean isBackup) { // 计算备份日期,备份该日期之前的文件 Date pointDate = new Date(); long timeInterval = pointDate.getTime() - convertDaysToMilliseconds(days); pointDate.setTime(timeInterval); // 是否进行备份 if (isBackup) { if (!backUpFiles(dirPath, backupPath, pointDate)) { System.out.println(" Backup failed: " + dirPath); return false; } } // 设置文件过滤条件 IOFileFilter timeFileFilter = FileFilterUtils.ageFileFilter(pointDate, true); IOFileFilter fileFiles = FileFilterUtils.andFileFilter(FileFileFilter.FILE, timeFileFilter); // 删除符合条件的文件 File deleteRootFolder = new File(dirPath); Iterator itFile = FileUtils.iterateFiles(deleteRootFolder, fileFiles, TrueFileFilter.INSTANCE); while (itFile.hasNext()) { File file = (File) itFile.next(); boolean result = file.delete(); if (!result) { LogEx.error("Failed to delete file of :" + file); return false; } } // 清理空的文件夹 File[] forderList = deleteRootFolder.listFiles(); if (forderList != null && forderList.length > 0) { for (int i = 0; i < forderList.length; i++) { deleteEmptyDir(forderList[i]); } } return true; } /** * 备份删除文件到指定的目录 ,目录格式:yyyy_MM_dd_bak * * @param srcDir * :源文件路径 * @param destDir * :目标文件路径 * @param dayCount * :时间间隔,备份该时间之前的数据 * @return */ private static boolean backUpFiles(String srcDir, String destDir, Date pointDate) { try { // 设置备份文件夹格式YYYY_MM_dd_bak SimpleDateFormat format = new SimpleDateFormat("yyyy_MM_dd"); String folderName = format.format(new Date()) + "_bak"; File resFile = new File(srcDir); File distFile = new File(destDir + File.separator + folderName); // 文件过滤条件 IOFileFilter timeFileFilter = FileFilterUtils.ageFileFilter(pointDate, true); IOFileFilter fileFiles = FileFilterUtils.andFileFilter(FileFileFilter.FILE, timeFileFilter); // 复制文件目录 FileFilter filter = FileFilterUtils.orFileFilter(DirectoryFileFilter.DIRECTORY, fileFiles); FileUtils.copyDirectory(resFile, distFile, filter, true); } catch (IOException e) { e.printStackTrace(); LogEx.error("Failed to backupFile:" + e.getMessage()); return false; } return true; } /** * 天与毫秒的转换 * * @param days * @return */ private static long convertDaysToMilliseconds(int days) { return days * 24L * 3600 * 1000; }
2、清理所有的文件夹
/** * 循环删除空的文件夹 * * @param dir */ private static void deleteEmptyDir(File dir) { if (dir.isDirectory()) { File[] fs = dir.listFiles(); if (fs != null && fs.length > 0) { for (int i = 0; i < fs.length; i++) { File tmpFile = fs[i]; if (tmpFile.isDirectory()) { deleteEmptyDir(tmpFile); } if (tmpFile.isDirectory() && tmpFile.listFiles().length <= 0) { tmpFile.delete(); } } } if (dir.isDirectory() && dir.listFiles().length == 0) { dir.delete(); } } }
发表评论
-
Java transient关键字
2013-07-01 14:11 1279Java的serialization提供了一种持久化对象实例 ... -
java中的equals()和hashCode()详解
2013-06-23 17:21 1268java中对equals()和hashCode ... -
Java中synchronized 关键字的详解
2013-06-25 12:18 1747在了解cache的过程中,难免会涉及多线程的问题,涉及 ... -
PDF 报表合并
2012-08-14 15:34 1216import java.io.FileOutputStream ... -
java中 set,list,array(集合与数组)相互转换
2011-02-25 17:22 1884public static Object[] List2Arr ... -
互斥访问,限制最大数访问
2010-10-26 18:01 1421/** * @author jgao1 * 用法:P ... -
java IO类操作
2009-10-24 20:02 1720java的IO类操作主要包括如下几类 1、File类的使用 ... -
java中集合排序问题
2009-10-16 09:59 1710关键字: 集合排序 集合 排序 Iterator ... -
java中已知字体和字体大小确定字体的高度和长度
2009-09-21 17:27 4577public static void main(String ... -
java中路径处理分割
2009-09-12 16:30 5732在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上 ... -
文件中的流
2009-09-07 21:08 14771、base64inputStram public clas ... -
一个javaBean的操作类,主要用于复制bean
2009-08-20 17:53 2762今天用到Bean的复制..恰好有空,写了这个Bean操作类.. ... -
classUtils
2009-08-09 22:55 2051import java.io.File; import ja ... -
java多线程
2009-07-09 21:43 2231java多线程是java基础中的重点,下面就j ... -
java的类集详解
2009-07-05 20:20 2132在学习类集之前,先明确一个概念,那就是啥叫重量级, ... -
java的反射机制
2009-07-04 11:44 1495Java反射机制是利用元类(相似于元数据的概念,元 ... -
抽象类和接口
2009-06-28 15:57 1813今天复习下抽象类和接口。做点重要的笔记 1、抽象 ... -
java中的clone机制及序列化
2009-06-25 22:50 1567在实际编程过程中,我们常常要遇到这种情况:有一个对象A ... -
java字符串的各种编码转换
2009-06-25 21:22 1331import java.io.UnsupportedEncod ... -
对于Java序列化的一次认识 转javaeye(感觉不错)
2009-06-21 22:21 1715其实这个问题简单思考一下就可以搞清楚,方法是不带状态的, ...
相关推荐
本代码使用c语言,可执行递归删除指定文件夹下所有的文件(包含文件以及文件夹)的操作,注释详细,易于使用或修改
递归删除指定文件夹下的指定文件夹及文件,如删除文件夹中的所有.svn的文件夹及文件
java递归删除整个文件夹,可以文件夹中所有的文件和子文件夹
Java 递归删除文件和文件夹是 Java 编程中一个常见的操作。该操作需要使用 Java 的 File 类来实现,通过递归调用来删除文件和文件夹。 File 类 在 Java 中,File 类是用于表示文件和文件夹的类。该类提供了许多...
以下是对Java中递归实现删除文件夹这一知识点的详细解释。 1. **基本概念** - **递归**:一个函数在其定义中调用自身的过程,每次调用都处理问题的一个更小的部分,直到达到基本情况,此时不再进行递归调用。 - *...
java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取文件 写文件java 递归读取文件夹 读取...
需要注意的是,对于删除文件夹的操作,如果文件夹非空,则需要先递归删除其中的所有文件和子文件夹后才能删除该文件夹。此外,在处理文件系统相关的操作时,建议捕获并妥善处理可能出现的各种异常情况,确保程序的...
使用方法:双击软件弹出文件夹拾取框执行程序
当递归删除文件夹时,会把自己文件夹也删除掉,比如要删除E:/testTemp/qftp 这个文件夹下多有文件,但会把qftp这个文件夹删除,本程序改进后将不删除qftp文件夹,但qftp文件夹下的所有文件都会删除
在这个工具中,日志文件可能记录了删除的空文件夹路径、操作时间以及可能出现的任何错误或异常,帮助用户了解工具的运行情况和可能出现的问题。 总的来说,这款“删除空文件夹的小工具”利用C#的多线程技术,高效地...
在IT领域,递归删除是一种常见且强大的操作,主要用于清理特定类型或结构的文件和文件夹。本主题主要探讨如何实现“递归删除指定类型的文件夹”和“递归删除指定类型的文件”,以及如何在文件夹内部进行深度搜索和...
java编写,递归删除某一指定目录下所有文件夹,空文件夹下空文件夹
在JDK 7及以上版本中,Java提供了一种更加高效且灵活的方式来删除文件,包括递归删除整个文件夹及其子文件,这主要通过`java.nio.file`包中的`Files`类和`SimpleFileVisitor`类来实现。下面我们将详细探讨如何实现这...
使用递归删除文件
在Java中,可以使用File类来表示文件和文件夹,然后使用递归函数来实现文件夹下所有文件的扫描。 在上面的代码中,我们定义了一个FolderFileScanner类,该类中有两个静态方法:scanFilesWithRecursion和...
在给定的压缩包文件`RecursiveBrowseFolder`中,可能包含一个示例程序或代码库,演示如何实现上述的递归删除和复制文件夹功能。这个程序可能提供一个接口或函数,用户可以通过指定源文件夹和目标文件夹来执行递归...
在Java编程中,递归是一种强大的技术,常用于解决复杂问题,例如遍历或搜索文件系统中的文件夹。本文将详细解析如何使用Java编写一个递归程序来搜索Windows文件夹,以及涉及到的相关知识点。 首先,我们需要理解...
为了实现递归删除,我们需要先获取文件夹下的所有子文件夹和文件,然后再逐一删除。这里需要用到自定义的`FtpDirInfo`类来帮助获取这些信息: ```csharp private string[] GetDeleteFolderArray(string path) { ...
### Java创建和删除...此外,对于文件夹的删除操作,还需要注意递归删除内部的所有文件和文件夹,确保不会遗漏任何内容。 这些基础知识对于任何Java开发者来说都是非常重要的,特别是在处理文件系统相关的任务时。
为了实现递归删除文件夹及其内容,我们需要在枚举到的每个文件或子文件夹上执行以下操作: - 如果是文件,使用`DeleteFile`函数删除。 - 如果是子文件夹,调用自身,递归删除子文件夹。 以下是一个简单的示例,...