##定时删除拜访图片
##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);
}
}
}