/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package reportbuilder; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; /** * * @author Administrator */ public class AlwayDeleteFile implements Runnable { private Thread thread; public AlwayDeleteFile() { thread = new Thread(this); thread.start(); } public void close() { try { thread.interrupt(); } catch (Exception ex) { } thread = null; } @Override public void run() { try { while (thread != null) { if (thread.isInterrupted()) { break; } try { deleteAllFileInFolder(); } catch (Exception ex) { } try { Thread.sleep(ReportBuilder.deleteTimeOutThread * 1000); } catch (Exception ex) { } } } catch (Exception ex) { } } private void deleteAllFileInFolder() throws Exception { Date dateNow = new Date(); File reportFolder = new File(ReportBuilder.saveReportPath); for (final File fileEntry : reportFolder.listFiles()) { try { if (!fileEntry.isDirectory()) { String reportName = fileEntry.getName(); if (reportName.length() > 20) { String subStr = reportName.substring(0, 14); String format = "yyyyMMddHHmmss"; SimpleDateFormat dateFormat = new SimpleDateFormat(format, Locale.US); Date date1 = dateFormat.parse(subStr); long seconds = (dateNow.getTime() - date1.getTime()) / 1000; if (seconds > ReportBuilder.deleteTimeOut) { ReportBuilder.writeMessage("Delete timeout file - " + fileEntry.getName() + "\r\n"); fileEntry.delete(); } } } } catch (Exception ex) { } } } }