private void deleteTempResponseXML()
{
string rpX=System.Configuration.ConfigurationSettings.AppSettings["DeleteFileDir_ResponseXMLTemp"];
string picX=System.Configuration.ConfigurationSettings.AppSettings["DeleteFileDir_Pic"];
if(!(System.IO.Directory.Exists(rpX)&&System.IO.Directory.Exists(picX)))
{
return ;
}
while(true)
{
System.DateTime d=System.DateTime.Now;
if(d.Hour==0&&d.Minute==0)
{
string [] files=System.IO.Directory.GetFiles(rpX);
try
{
for(int i=0;i<files.Length;i++)
{
if(System.IO.File.GetCreationTime(files[i])<=d)
{
System.IO.File.Delete(files[i]);
}
}
}
catch{}
files=System.IO.Directory.GetFiles(picX);
try
{
for(int i=0;i<files.Length;i++)
{
if(System.IO.File.GetCreationTime(files[i])<=d)
{
System.IO.File.Delete(files[i]);
}
}
}
catch{}
//等待60秒,以保证下次不落入24:00~24:01中,避免重复删除
Thread.Sleep(60000);
}
else
{
//等待10秒以降低CPU占用率
Thread.Sleep(10000);
}
}
}
private void dtrx()
{
ThreadStart threads=new ThreadStart (deleteTempResponseXML);
thread= new Thread(threads);
thread.Start();
}
运行函数 dtrx(),启动线程执行deleteTempResponseXML方法。里面的死循环处理定时的问题。thread.Abort()可以终止此线程执行。这是C#程序