c#拷贝和删除文件及写入配置文件

时间:2019-11-18
本文章向大家介绍c#拷贝和删除文件及写入配置文件,主要包括c#拷贝和删除文件及写入配置文件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Threading.Tasks;
  6 using System.IO;
  7 using System.Configuration;
  8 
  9 
 10 namespace UpdateWorks
 11 {
 12    public  class Plan
 13     {
 14 
 15 
 16         /// <summary>
 17         /// 保存配置文件的方法
 18         /// </summary>
 19         /// <param name="configset">key的名称</param>
 20         /// <param name="text">要修改的信息</param>
 21         public static void SaveAppconfigText(string configset,string text )
 22         {
 23             Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);//创建访问配置文件的对象
 24             config.AppSettings.Settings[configset].Value = text;//对相应key的value赋值
 25             config.Save(ConfigurationSaveMode.Modified);//保存修改的信息
 26             ConfigurationManager.RefreshSection("appSettings");//刷新appsettings节点信息
 27 
 28 
 29         }
 30 
 31 
 32         /// <summary>
 33         /// 复制文件的方法
 34         /// </summary>
 35         /// <param name="sourPath">源文件路径</param>
 36         /// <param name="savePath">备份的文件路径</param>
 37         public static void CopyDirectory(string sourPath, string savePath)
 38         {
 39 
 40               DirectoryInfo dir = new DirectoryInfo(sourPath);//创建访问文件目录的对象
 41                 FileSystemInfo[] fileinfo = dir.GetFileSystemInfos();//获取当前目录下的所有文件及子目录
 42                 foreach (FileSystemInfo item in fileinfo) //遍历获取的文件及自目录
 43                 {
 44                     if (item is DirectoryInfo) //判断是否是目录
 45                     {
 46                         if (!Directory.Exists(savePath + "\\" + item.Name))//判断目录是否存在
 47                         {
 48                             Directory.CreateDirectory(savePath + "\\" + item.Name);//创建目录
 49                         }
 50                         CopyDirectory(item.FullName, savePath + "\\" + item.Name);//递归调用自己
 51                     }
 52                     else
 53                     {
 54                     try
 55                     {
 56                         File.Copy(item.FullName, savePath + "\\" +DateTime.Now.ToString("yyyy-MM-dd-HH-mm ")+ item.Name, false);//复制文件,true表示覆盖文件
 57                     }
 58                     catch 
 59                     {
 60 
 61                         continue; //如果出错就继续复制下一个
 62                     }
 63                        
 64                     }
 65                   
 66                 }
 67 
 68             
 69 
 70         }
 71         /// <summary>
 72         /// 删除指定路径下超过指定日期的文件
 73         /// </summary>
 74         /// <param name="path">路径</param>
 75         /// <param name="days">天数</param>
 76         public static void DeleteDir(string path,int days)
 77         {
 78             DirectoryInfo dir = new DirectoryInfo(path);
 79             FileSystemInfo[] fileinfo = dir.GetFileSystemInfos();
 80             foreach (FileSystemInfo item in fileinfo)
 81             {
 82                
 83                     if (item is DirectoryInfo)
 84                     {
 85                         DeleteDir(path + "\\" + item.Name, days);
 86                     }
 87                     else
 88                 {
 89                     try
 90                     {
 91                         if ((DateTime.Now- item.CreationTime).Days>=days)
 92                         {
 93                             File.Delete(item.FullName);
 94                         }
 95                        
 96                     }
 97                     catch 
 98                     {
 99 
100                         continue;
101                     }
102                         
103                     }
104                
105                 
106 
107             }
108 
109         }
110 
111     }
112 }

原文地址:https://www.cnblogs.com/leizhui/p/11881455.html