• 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 }
  • 相关阅读:
    linux 下安装web开发环境
    Nginx服务器之 Nginx的基本配置
    Nginx服务器之基础学习
    java反射 之 反射基础
    java IO流 之 其他流
    java IO流 之 字符流
    java IO流 之 字节流
    java 线程 Lock 锁使用Condition实现线程的等待(await)与通知(signal)
    java线程 公平锁 ReentrantLock(boolean fair)
    MarkdownPad 2破解
  • 原文地址:https://www.cnblogs.com/leizhui/p/11881455.html
Copyright © 2020-2023  润新知