`

java删除指定路径下30天之前的文件

    博客分类:
  • Java
 
阅读更多

此代码可通过javac编译后直接用java运行

package com.vtradex.stms.server.utils;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DeleteFilesSimpe {
	public static SimpleDateFormat dmy_hms = 
			new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
	public static void main(String[] args) {
		 String filePath = "D:/app/archivelog";
		while(true){
			int l = moveFileToReady(filePath);
			if(l>0){
				System.out.println(dmy_hms.format(
						new Date())+","+filePath+"----------"+l);
			}else{
				System.out.println(dmy_hms.format(
						new Date())+","+filePath);
			}
			try {
				//1000=1s,1h=60m,1m=60s,10800000=3h,3600000=1h
				Thread.sleep(10800000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	private static Integer moveFileToReady(String fromDir){
		File srcDir = new File(fromDir);
		if (!srcDir.exists()) {
			return 0;
		}
		File[] files = srcDir.listFiles();
		if (files == null || files.length <= 0) {
			return 0;
		}
		int l = 0;
		Date today = new Date();
		for (int i = 0; i < files.length; i++) {
			if (files[i].isFile()) {
				try {
					File ff = files[i];
			        long time=ff.lastModified();
				    Calendar cal=Calendar.getInstance();   
			        cal.setTimeInMillis(time);   
			        Date lastModified = cal.getTime();
			      //(int)(today.getTime() - lastModified.getTime())/86400000;
			        long days = getDistDates(today, lastModified);
			        if(days>=30){
			        	files[i].delete();
			        	l++;
			        }
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		return l;
	}
	
	 /** 
     * @param startDate 
     * @param endDate 
     * @return 
     * @throws ParseException 
     */  
    public static long getDistDates(Date startDate,Date endDate)    
    {  
        long totalDate = 0;  
        Calendar calendar = Calendar.getInstance();  
        calendar.setTime(startDate);  
        long timestart = calendar.getTimeInMillis();  
        calendar.setTime(endDate);  
        long timeend = calendar.getTimeInMillis();  
        totalDate = Math.abs((timeend - timestart))/(1000*60*60*24);  
        return totalDate;  
    }  
}

 

分享到:
评论

相关推荐

    操作系统课程设计基于Java实现的仿真Linux系统源码+项目说明文档.zip

    3. 本工程所有源代码在30天内完成,时间较为仓促,设计不当之处还请不吝赐教 运行与安装 1. clone 或 pull 所有文件 2. 使用IDEA(推荐) 或 Eclipse 新建Java工程(JDK 版本 &gt;= 1.8) 3. 删除工程下默认生成的src...

    Java手机程序设计入门6

    该版本为30天试用期,文件大小约为56MB,文件名为CWJava6.0Eval.exe。 #### 安装CodeWarrior for Java - 双击CWJava6.0Eval.exe启动安装程序。 - 选择安装路径,默认情况下会安装在C:\Program Files\CodeWarrior\...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例078 从字符串中分离文件路径、 文件名及扩展名 98 实例079 判断手机号的合法性 99 实例080 用字符串构建器追加字符 100 实例081 去掉字符串中的所有空格 101 实例082 汉字与区位码的转换 102 第5章 面向对象技术...

    JAVA面试题从基础到高级篇.doc

    - 当月最后一天:使用Calendar类设置日期到下个月第一天,然后减去一天。 - 格式化日期:使用SimpleDateFormat类。 二、JSP&Servlet技术 1. JSP是动态网页,Servlet是服务器端程序,它们都能处理HTTP请求。JSP...

    Linux 命令

    ### Linux命令详解 #### 一、进程管理与文件操作 **ps -ef | grep java** - **ps -ef**: 显示系统中所有进程... - **find /usr/bin -type f -atime +10**: 在`/usr/bin`目录下查找最后访问时间超过10天的普通文件。

    2021-2022计算机二级等级考试试题及答案No.13907.docx

    题目考察了Java中如何正确地指定文件路径。在Java中,文件路径可以使用绝对路径或相对路径。对于Windows系统,路径分隔符通常使用反斜杠(`\`)。 **选项分析**: - A."./1.txt":这是相对于当前目录的路径。 - B....

    JSP实用技巧集合,jsp编程的一些小技巧总结

    5. java中如何把一个目录下的文件移到另一个指定的目录? 6. 制作表格线? 7. jsp如判别一个字符在A到Z之间? 8. 得到一浮点数小数点后4位,如何写以函数截取为两位 9. 整型转字符? 10. 显示数据库的记录,点击哪个...

    LINUX常用命令

    - **用途**: 将指定目录下的所有文件复制到当前目录。 23. **`cp -a /tmp/dir1 .`**: 复制一个目录到当前工作目录。 - **用途**: 递归复制目录及其所有子目录和文件,并保留原有权限和时间戳。 24. **`cp -a dir...

    JSP.rar_cookies jsp_jsp_jsp cooki_jsp cookies_jsp 用户管理

    // 设置Cookie的有效期为30天 response.addCookie(cookie); ``` 2. **读取Cookie**:在JSP页面中,通过`request`对象的`getCookies()`方法获取所有发送到服务器的Cookie,然后根据Cookie的名称查找所需的数据。 ```...

    2019研发后台一轮考核-影院购票管理系统1

    8. 使用相对路径处理文件路径,避免环境差异问题。 9. 适当使用访问控制符,如public。 10. 尽量避免在entity、util和view包中混入业务逻辑代码。 11. 鼓励手动编写UI代码,避免过度依赖拖拽插件。 **提交要求** - ...

    Day09_cookie & Session

    - `setPath()`:指定Cookie可访问的路径,默认情况下,Cookie只对当前页面有效。 - **发送Cookie到客户端**:通过`HttpServletResponse`的`addCookie()`方法将Cookie添加到HTTP响应头部,发送到客户端。 - **读取...

    jsp编程技巧集锦

    java中如何把一个目录下的文件移到另一个指定的目录? 6. 制作表格线? 7. jsp如判别一个字符在A到Z之间? 8. 得到一浮点数小数点后4位,如何写以函数截取为两位 9. 整型转字符? 10. 显示数据库的记录...

    基于Weblogic10.3和MyEclipse6.6的J2EE开发环境安装和配置

    - 通过【Preferences】→【Java】→【Installed JREs】添加、删除或编辑JRE定义。 - 点击【Add】添加新的JRE,并指定JRE路径。 - **配置 Weblogic Server**: - 在【Preferences】→【MyEclipse Enterprise ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS...

    易语言程序免安装版下载

     静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译),PE结构更合理(取消了“易格式体”),加载速度更快,而且有效解决了“病毒误报”和...

Global site tag (gtag.js) - Google Analytics