主函数可以进行修改,写了三个重载函数,可以选择是否删除子文件夹,可以延时删除,也可以定时删除(需要一直挂起线程)。
package try1;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
public class Try1 {
static String a;
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
a=input.next();
int b=input.nextInt();
//String time=input.next();
File file=new File(a);
delete(file,b);
input.close();
}
static void delete(File file,int turn) {
if(turn==0) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
files[i].delete();
}
}
}
else {
if (file.exists()) {
if (file.isFile()) {
file.delete();
}
else if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0;i < files.length;i ++) {
delete(files[i],1);
}
file.delete();
}
}
File nfile=new File(a);
if(!nfile.exists()) {
nfile.mkdir();
}
}}
static void delete(File file,int turn,int sleep) {
try
{
Thread.currentThread();
Thread.sleep(sleep);
}
catch(Exception e){}
delete(file,turn);
}
static void delete(File file,int turn,String time) {
while(true) {
try {
Thread.sleep(1000);
SimpleDateFormat now=new SimpleDateFormat("HH:mm");
if(now.format(new Date()).equals(time)){
delete(file,turn);
}
}catch(Exception e){}
}
}
}
输入格式如(选择定时删除函数):
D:\111
0
13:00
那么不关闭此程序的话,每天13点D盘111文件夹内所有文件(不包括子文件夹)都会被删除。
Comments | NOTHING