package com.pb.demo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
public class DemoFile {
private final static String dirPathLog = "G:/log"; //日志文件夹
private final static String dirPathDel = "G:/a"; //临时文件夹
public static void main(String[] args) {
//把要删除的文件包装成文件
File file = new File(dirPathDel);
if(file.exists()) { //文件或文件夹是否存在
if(file.isDirectory()) { //判断是否是目录
info(file);
}
}
}
public static void info(File file) {
//获得文件里面所有的文件及文件夹
File[] files = file.listFiles();
//创建您要写入的日志文件
String file1 = dirPathLog + "/del_path" + System.currentTimeMillis() + ".txt"; //写入的是否操作
//遍历files里面的所有文件及文件夹
FileWriter fw = null;
BufferedWriter bw = null;
for(File f : files) {
//获得绝对路径下的文件及文件夹
File absFile = f.getAbsoluteFile();
//计算时间
long day = 30;
long hour = 24;
long minute = 60;
long second = 60;
long mmcond = 1000;
long currTime = System.currentTimeMillis(); //当前时间
long lastTime = absFile.lastModified(); //文件被最后一次修改的时间
//时间差
long diffen = currTime - lastTime;
long thDay = day * hour * minute * second * mmcond;
if(diffen <= thDay) {
absFile.delete();
if(absFile.isDirectory()) {
info(absFile);
absFile.delete();
}
}
System.out.println("当前时间:" + currTime);
System.out.println("文件最后被修改的时间" + lastTime);
System.out.println("时间差:" + diffen);
System.out.println("30天的时间:" + thDay);
long delTime = lastTime + thDay; //要删除文件及文件夹的时间--毫秒数
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); //2017-5-5 23:32:23:234
String formatTime = sdf.format(delTime);
String strDel = "删除该文件的时间是:" + "\t"+formatTime+"\t" + "\t删除的文件是:" + absFile.getAbsolutePath(); //absFile.getAbsolutePath()获得你要删除文件的绝对路径
try {
fw = new FileWriter(file1, true);
bw = new BufferedWriter(fw);
bw.write(strDel);
bw.newLine(); //换行
bw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//删除文件并记录日志方法
//拿到要删除文件里的所有文件及文件夹
//创建您删除文件后的日志文件
//创建输出流
//删除文件并记录日志
}
}