导入导出的时候经常会产生一些临时文件,通常我们会建一个临时文件夹来存储这些临时文件,
但随着时间这些临时文件会越来越多,所以有必要做一个定时清除。
思路比较简单,首先建立一个定时器,这个定时器定时执行一个删除临时文件的方法即可。
在Global.asax建立定时器,并调用DelTempFile自定义类中的删除临时文件方法。
View Code
1 System.Timers.Timer _deleteTempFile;
2
3 void Application_Start(object sender, EventArgs e)
4 {
5 //在应用程序启动时运行的代码
6 _deleteTempFile = new System.Timers.Timer(1000 * 60 * 1);
7 _deleteTempFile.Elapsed += new System.Timers.ElapsedEventHandler(OnTimeEvent_DelTempFile);
8 _deleteTempFile.Enabled = true;
9
10 }
11
12 void OnTimeEvent_DelTempFile(object sender,System.Timers.ElapsedEventArgs e)
13 {
14 DelTempFile.Delete_TempFile(AppDomain.CurrentDomain.BaseDirectory + "Temp_Down", 0, "*");
15 _deleteTempFile.Interval = 1000 * 60 * 5;
16 _deleteTempFile.Enabled = true;
17 }
在自定义类中实现删除临时文件的方法,代码如下:
View Code
1 /// <summary>
2 /// 删除临时文件
3 /// </summary>
4 /// <param name="path">删除的文件的路径</param>
5 /// <param name="date">删除某一个时间点以前的文件</param>
6 /// <param name="fileType">文件类型</param>
7 public static void Delete_TempFile(string path,int datePoint,string fileType)
8 {
9 System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(path);
10 DateTime time = DateTime.Now.AddDays(-datePoint);
11
12 //该目录存在且有临时文件则进行删除处理
13 if (dirInfo.Exists && dirInfo.GetFiles().Length > 0)
14 {
15 System.IO.FileInfo[] files = dirInfo.GetFiles();
16
17 for (int i = 0; i < files.Length; i++)
18 {
19 if (files[i].Exists)
20 {
21 try
22 {
23 if (fileType == "*")
24 {
25 //将该文件设置为临时文件
26 System.IO.File.SetAttributes(path + "\\" + files[i].Name, System.IO.FileAttributes.Temporary);
27 //删除指定的文件
28 System.IO.File.Delete(path + "\\" + files[i].Name);
29 }
30 else
31 {
32 if (files[i].Extension.Equals("." + fileType))
33 {
34 //将该文件设置为临时文件
35 System.IO.File.SetAttributes(path + "\\" + files[i].Name, System.IO.FileAttributes.Temporary);
36 //删除指定的文件
37 System.IO.File.Delete(path + "\\" + files[i].Name);
38 }
39 else
40 {
41 continue;
42 }
43 }
44 }
45 catch(System.IO.IOException ex)
46 {
47 throw ex;
48 }
49 }
50 }
51 }
52 }
-----------------------------------------------------------旨在学习 欢迎交流------------------------------------------------------------