- 浏览: 765493 次
- 性别:
- 来自: 深圳
-
文章分类
- 全部博客 (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 1293Java的serialization提供了一种持久化对象实例 ... -
java中的equals()和hashCode()详解
2013-06-23 17:21 1274java中对equals()和hashCode ... -
Java中synchronized 关键字的详解
2013-06-25 12:18 1756在了解cache的过程中,难免会涉及多线程的问题,涉及 ... -
PDF 报表合并
2012-08-14 15:34 1223import java.io.FileOutputStream ... -
java中 set,list,array(集合与数组)相互转换
2011-02-25 17:22 1897public static Object[] List2Arr ... -
互斥访问,限制最大数访问
2010-10-26 18:01 1428/** * @author jgao1 * 用法:P ... -
java IO类操作
2009-10-24 20:02 1728java的IO类操作主要包括如下几类 1、File类的使用 ... -
java中集合排序问题
2009-10-16 09:59 1723关键字: 集合排序 集合 排序 Iterator ... -
java中已知字体和字体大小确定字体的高度和长度
2009-09-21 17:27 4584public static void main(String ... -
java中路径处理分割
2009-09-12 16:30 5740在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上 ... -
文件中的流
2009-09-07 21:08 14881、base64inputStram public clas ... -
一个javaBean的操作类,主要用于复制bean
2009-08-20 17:53 2774今天用到Bean的复制..恰好有空,写了这个Bean操作类.. ... -
classUtils
2009-08-09 22:55 2061import java.io.File; import ja ... -
java多线程
2009-07-09 21:43 2239java多线程是java基础中的重点,下面就j ... -
java的类集详解
2009-07-05 20:20 2142在学习类集之前,先明确一个概念,那就是啥叫重量级, ... -
java的反射机制
2009-07-04 11:44 1508Java反射机制是利用元类(相似于元数据的概念,元 ... -
抽象类和接口
2009-06-28 15:57 1818今天复习下抽象类和接口。做点重要的笔记 1、抽象 ... -
java中的clone机制及序列化
2009-06-25 22:50 1575在实际编程过程中,我们常常要遇到这种情况:有一个对象A ... -
java字符串的各种编码转换
2009-06-25 21:22 1343import java.io.UnsupportedEncod ... -
对于Java序列化的一次认识 转javaeye(感觉不错)
2009-06-21 22:21 1724其实这个问题简单思考一下就可以搞清楚,方法是不带状态的, ...
相关推荐
批处理实现自动删除过期文件的定期操作 ...在本文中,我们介绍了如何使用 FORFILES 命令和批处理实现自动删除过期文件的定期操作。这可以帮助我们自动删除过期的日志文件,释放服务器的存储空间和提高系统的运行效率。
Java递归删除文件是指使用递归算法来删除文件夹下所有文件的方法。在上面的代码中,我们使用了递归算法来删除文件夹下所有文件。该方法将检查文件夹下所有文件,如果是文件夹,则递归调用该方法来删除文件夹下的所有...
这个过程通常涉及递归地访问一个目录及其所有子目录,查找、读取或者操作其中的文件和子文件夹。在本文中,我们将深入探讨如何在不同的编程语言中遍历文件夹下的文件夹,以及这一操作的重要性。 首先,让我们了解...
文件移动、复制、下载、删除、分享,分享分为私密分享和公开分享,还可以设置分享过期时间 打开分享链接后可以对文件进行查看、下载、保存到自己网盘等 超级管理员登录后可以设置普通用户的空间大小、角色类型、权限...
使用技术: ...后台使用技术:Springboot、Spring、SpringMvc、SpringData等 数据库:Mysql数据库 项目功能介绍: ...3:网盘目录结构可无限制层级创建,保存移动复制文件时递归所选文件夹层级等等。
在Java中,`FileVisitor`接口提供了一种优雅的方式来遍历和操作文件系统目录树。在上述场景中,为了高效地删除大量过期文件,使用`FileVisitor`接口比传统的递归方法更具优势,尽管可能会消耗更多的内存。下面将详细...
这段代码会删除WebView使用的两个数据库文件`webview.db`和`webviewCache.db`,以及缓存文件夹中的所有文件。`CacheManager.getCacheFileBaseDir()`通常返回WebView的缓存目录,但实际使用时需根据具体项目配置来...
删除关系时,通常需要在“关系”窗口中进行操作。 ### 24. FTP 协议的用途 - **FTP的功能**:FTP (File Transfer Protocol) 是用于在 Internet 上进行文件传输的标准协议。它支持上传和下载文件,以及在远程计算机...