java删除配置文件中配置路径下的文件

本文介绍了一个Java程序,该程序能够周期性地从配置文件中读取多个路径,并删除这些路径下所有的文件。程序通过无限循环定时执行文件删除操作,并记录操作的时间和结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.StringTokenizer;
/**删除配置文件中配置路径下的文件*/
public class DeleteFiles {
	public static SimpleDateFormat dmy_hms = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
	/**保存删除路径的txt,内容如下(D:/showled),换行用回车键*/
	public static String fileTxt = "C:/DeleteFiles.txt";
	public static void main(String[] args) {
		List<Object[]> values = excuteReadTxt();
		while(true){
			for(int i=0 ; i<values.size() ; i++){  
				 Object[] obj = values.get(i);
				 String filePath = (String)obj[0];
				 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 {
				Thread.sleep(10000);//1000=1s,1h=60m,1m=60s,10800000=3h,3600000=1h
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
	private static List<Object[]> excuteReadTxt(){
		List<Object[]> objs = new ArrayList<Object[]>();  
		File srcDir = new File(fileTxt);
		if (!srcDir.exists()) {
			return objs;
		}
		Map<Integer,List<Object>> map = readTxt(srcDir);  
        Iterator<Entry<Integer, List<Object>>> iterator = map.entrySet().iterator();  
        while(iterator.hasNext()){  
            Entry<Integer, List<Object>> entery = iterator.next();  
//            int key = entery.getKey();  
            List<Object> values = entery.getValue();  
            Object[] ss = new Object[values.size()];  
            for(int i = 0 ; i<values.size() ; i++){  
                ss[i] = values.get(i);  
            }  
            objs.add(ss);  
        }  
        return objs;  
	}
    public static Map<Integer,List<Object>>  readTxt(File file){  
        //jt.readTxt(new File("C:/Users/Administrator/Desktop/aaaaa.txt"));  
        BufferedReader br = null;  
        Map<Integer,List<Object>> map = new HashMap<Integer, List<Object>>();  
        List<Object> values = null;  
        int key = 1;  
        try {  
            InputStreamReader read = new InputStreamReader(new FileInputStream(file), "GBK");  
            br = new BufferedReader(read);  
            String temp = null;  
            while ((temp = br.readLine()) != null) {  
                if("".equals(temp)){  
                    continue;  
                }  
                values = new ArrayList<Object>();  
                StringTokenizer st = new StringTokenizer(temp);  
                while(st.hasMoreElements()){  
                    String num = st.nextToken("\t").trim();  
                    values.add(num);  
                }  
                map.put(key, values);  
                key++;  
            }  
	    } catch (Exception e) {  
	        e.printStackTrace();  
	    }finally { 
	        try {  
	            if(null != br){  
	                br.close();  
	            }  
	        } catch (IOException e) {  
	            e.printStackTrace();  
	        }  
	    }  
	    return map;  
    }  
	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 = files.length;
		for (int i = 0; i < files.length; i++) {
			if (files[i].isFile()) {
				try {
					files[i].delete();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
		return l;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值