JAVA中删除文件夹下及其子文件夹下的某类文件
##定时删除拜访图片
##cron表达式 秒 分 时 天 月 ?
##每月1日整点执行
CRON1=0 0 0 1 * ?
scheduled.enable1=false
##图片路径
filePath=E:\\FTP\\FtpS\\Vldata\\Vlbfile\\ /**删除3月前拜访图片**/
@Scheduled(cron="${CRON1}")
public void delImg(){
if(Boolean.parseBoolean(scheduled1)){ // String filePath ="E:\\FTP\\FtpS\\Vldata\\Vlbfile\\";
String filePath =path;
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -3);//减去三个月
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
long dateNowStr = Long.parseLong(sdf.format(calendar.getTime()));
int i=0;
// System.out.println("格式化:"+dateNowStr);
ArrayList<String> listFileName = new ArrayList<String>();
getAllFileName(filePath,listFileName);
for(String name:listFileName){
name=name.replace(filePath,"");
String str1 = null;
if(name.contains("vdvc80100")){ String str = name.substring(0,name.indexOf("80100_"));
str1 = name.substring(str.length()+6,str.length()+14);
}
// if(name.contains("vdvc80100")&&(Integer.valueOf(name.substring(10,18)))<dateNowStr){
if(name.contains("vdvc80100")&&(Integer.valueOf(str1))<dateNowStr){
File f = new File(filePath+name);
// System.out.println("图片路径"+filePath+name); f.delete();
// System.out.println("删除文件成功!"+f.getName());
}
}
// System.out.println("删除过期拜访图片数: "+i);
}else { System.out.println("文件删除定时器已关闭!");
}
}
/**
* 遍历获取文件夹下所有文件
* @param path
* @param listFileName
*/
public static void getAllFileName(String path,ArrayList<String> listFileName){
File file = new File(path);
File [] files = file.listFiles();
String [] names = file.list();
if(names != null){
String [] completNames = new String[names.length];
for(int i=0;i<names.length;i++){
completNames[i]=path+names[i];
}
listFileName.addAll(Arrays.asList(completNames));
}
for(File a:files){
if(a.isDirectory()){//如果文件夹下有子文件夹,获取子文件夹下的所有文件全路径。
getAllFileName(a.getAbsolutePath()+"\\",listFileName);
}
}
}
JAVA中删除文件夹下及其子文件夹下的某类文件的更多相关文章
- 文件夹中含有子文件夹,修改子文件夹中的图像存储格式(python实现)
文件夹中含有子文件夹,修改子文件夹中的图像存储格式,把png图像改为jpg图像,python代码如下: import os import cv2 filePath = 'C:\\Users\\admi ...
- Android 读取手机某个文件夹目录及子文件夹中所有的txt文件
1. activity_main.xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro ...
- asp.net 遍历文件夹下全部子文件夹并绑定到gridview上
遍历文件夹下所有子文件夹,并且遍历配置文件某一节点中所有key,value并且绑定到GridView上 Helper app_Helper = new Helper(); DataSet ds = n ...
- Python扫描指定文件夹下(包含子文件夹)的文件
扫描指定文件夹下的文件.或者匹配指定后缀和前缀的函数. 假设要扫描指定文件夹下的文件,包含子文件夹,调用scan_files("/export/home/test/") 假设要扫描 ...
- Matlab学习:读取指定文件夹及其五级子文件夹内的文件
OpenCV2.4.X版本提供了三个函数来读取指定目录内的文件,它们分别是: (1)GetListFiles:读取指定目录内所有文件,不包含子目录: (2)GetListFilesR:读取指定目录及其 ...
- NSIS如何对一整个目录文件夹(包括子文件夹和其中的文件)压缩
原来不加/r参数,NSIS编译器就会不认识文件夹啊. File /r [dir] Reference: http://stackoverflow.com/questions/7973242/nsis- ...
- python批量删除子文件夹中的空子文件夹
例如A文件夹下有许多子文件夹,我需要获得的是子文件夹中的图片,但是现在子文件夹中不光有图片,还混入了空的文件夹(在使用OpenImages工具箱的时候,按照检索的方式下载的图片文件中是带有label的 ...
- Java 遍历指定文件夹及子文件夹下的文件
Java 遍历指定文件夹及子文件夹下的文件 /** * 遍历指定文件夹及子文件夹下的文件 * * @author testcs_dn * @date 2014年12月12日下午2:33:49 * @p ...
- java 打印流 递归复制子文件子文件夹 不同编码文件复制到同一文件中 序列化流反序列化流
package com.swift.jinjie; import java.io.BufferedInputStream; import java.io.File; import java.io.Fi ...
随机推荐
- ES6--数组部分基础知识
数组Array的相关方法 1.Array.from()方法 Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象 ...
- 浅析I/O模型-select、poll、epoll
I/O流 概念 (1)c++中将数据的输入输出称之为流(stream),在c++中,流被定义为类,成为流类(stream class),其定义的对象为流对象. (2)文件,套接字(socket),管道 ...
- Django实现文件上传功能
文件上传 关注公众号"轻松学编程"了解更多. 1.创建上传文件夹 在static文件夹下创建uploads用于存储接收上传的文件 在settings中配置,MEDIA_ROOT=o ...
- Jumpserver简介,部署使用
Jumpserver简介 Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为亏联网企业提供了认证,授权,审计,自动化运维等功能,基于ssh协议来管理,客户端无需 ...
- 分布式文档存储数据库之MongoDB基础入门
一.MongoDB简介 MongoDB是用c++语言开发的一款易扩展,易伸缩,高性能,开源的,schema free 的基于文档的nosql数据库:所谓nosql是指不仅仅是sql的意思,它拥有部分s ...
- mysql处理查询请求的步骤
服务端处理客户端的查询请求大致需要三个步骤: 连接管理 客户端连接服务端时,服务端会为其分配一个线程,客户端断开连接不会回收线程(避免频繁创建销毁的性能问题),服务端一直等待客户端发来消息(文本消息) ...
- vuex和axios的基本操作
1.在src目录下创建一个api 是用于集中处理axios的相关配置 index.js就是处理axios的文件 具体如何使用axios 还请百度axios 2.URLs.js是存放需要请求的地址的 3 ...
- Docker系列01—Docker 基础入门
一.初识Docker和容器 1.1 什么是docker 容纳其他物品的工具,可以部分或完全封闭,被用于容纳.存储.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. 容器? 容器就是在隔离的环 ...
- Netty源码解析 -- 零拷贝机制与ByteBuf
本文来分享Netty中的零拷贝机制以及内存缓冲区ByteBuf的实现. 源码分析基于Netty 4.1.52 Netty中的零拷贝 Netty中零拷贝机制主要有以下几种 1.文件传输类DefaultF ...
- notepad++覆盖了eclipse的快捷键
好长时间发现eclipse快捷键alt+/无法使用,今天决定解决一下 1.Windows Hotkey Explorer 用此工具找到是notepad++占用了快捷键 2.C:\Program Fil ...