乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      C#文件操作源碼遞歸復(fù)制一個(gè)目錄遞歸刪除文件和文件夾

       悟靜 2011-08-09

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.IO;
      namespace Common.Files
      {
          public class FileOperator
          {
              /// <summary>
              ///
              /// </summary>
              /// <param name="path">文件路徑</param>
              /// <param name="encoding">編碼</param>
              /// <returns>文件內(nèi)容</returns>
              public string ReadFile(string path, System.Text.Encoding encoding)
              {
                  string tempContent = "";
                  using (StreamReader sr = new StreamReader(path, encoding))
                  {
                      tempContent = sr.ReadToEnd();
                  }
                  return tempContent;
              }
              /// <summary>
              ///
              /// </summary>
              /// <param name="path">文件的路徑</param>
              /// <param name="append">是否追加</param>
              /// <param name="encoding">編碼</param>
              /// <param name="content">內(nèi)容</param>
              /// <returns>是否成功</returns>
              public bool WriteFile(string path,bool append,System.Text.Encoding encoding,string content)
              {
                  bool state = false;
                  try
                  {
                      using (StreamWriter sw = new StreamWriter(path, append, encoding))
                      {
                          sw.Write(content);
                          sw.Flush();
                          state = true;
                      }
                  }
                  catch
                  {
       
                  }
                  return state;
              }
              /// <summary>
              /// 拷貝一個(gè)路徑下的文件夾和文件
              /// </summary>
              /// <param name="olddirectory"></param>
              /// <param name="newdirectory"></param>
              /// <returns></returns>
              public bool CopyDirectoryAndFiles(string olddirectory, string newdirectory)
              {
                  bool state = false;
                  try
                  {
                      DirectoryInfo dis = new DirectoryInfo(newdirectory);
                      if (!dis.Exists)
                      {
                          Directory.CreateDirectory(newdirectory);
                      }
                      CopyAll(olddirectory, newdirectory, "");
                      state = true;
                  }
                  catch
                  {
       
                  }
                  return state;
              }
              /// <summary>
              /// 遞歸拷貝一個(gè)文件夾的所有文件
              /// </summary>
              /// <param name="olddirectory"></param>
              /// <param name="newdirectory"></param>
              /// <param name="dir"></param>
              protected void CopyAll(string olddirectory, string newdirectory, string dir)
              {
                  DirectoryInfo dis = new DirectoryInfo(dir.Length > 0 ? (dir) : (olddirectory));
                  FileInfo[] files = dis.GetFiles();
                  foreach (FileInfo fi in files)
                  {

                      try
                      {
                          //拷貝文件
                          File.Copy(fi.FullName, string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), fi.Name));

                      }
                      catch (Exception ex)
                      {
                          try
                          {
                              File.Delete(string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), fi.Name));
                              //string temp = ex.Message;
                              File.Copy(fi.FullName, string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), fi.Name));
                          }
                          catch
                          {

                          }
                      }


                  }
                  if (dis.GetDirectories().Length > 0)
                  {
                      for (int i = 0; i < dis.GetDirectories().Length; i++)
                      {
                          //創(chuàng)建目錄
                          string tempNewPath = string.Format("{0}\\{1}", dir.Length > 0 ? (dir.Replace(olddirectory, newdirectory)) : (newdirectory), dis.GetDirectories()[i].Name);
                          if (!Directory.Exists(tempNewPath))
                              Directory.CreateDirectory(tempNewPath);
                          CopyAll(olddirectory, newdirectory, dis.GetDirectories()[i].FullName);
                      }
                  }


              }
              /// <summary>
              ///
              /// </summary>
              /// <param name="oldFilePath"></param>
              /// <param name="newFilePath"></param>
              /// <returns></returns>
              public bool CopyFile(string oldFilePath, string newFilePath)
              {
                  bool state = false;
                  File.Copy(oldFilePath, newFilePath);
                  return state;
              }
              /// <summary>
              ///
              /// </summary>
              /// <param name="directory"></param>
              /// <returns></returns>
              public bool DelteDirectory(string directory)
              {
                  bool state = false;
                  DeleteDirectoryAndFiles(directory);
                  return state;
              }
              /// <summary>
              ///
              /// </summary>
              /// <param name="path"></param>
              protected void DeleteDirectoryAndFiles(string path)
              {
                  DirectoryInfo di = new DirectoryInfo(path);
                  if (di.GetFiles().Length > 0)
                      DeleteFiles(path);
               
                 DirectoryInfo[] dis = di.GetDirectories();
                 if (dis.Length > 0)
                 {
                     foreach (DirectoryInfo tempdi in dis)
                     {
                     
                         DeleteDirectoryAndFiles(tempdi.FullName);
                         if (tempdi.GetFiles().Length < 1 && tempdi.GetDirectories().Length < 1)
                             tempdi.Delete();
                     }
                 }
              }
              /// <summary>
              /// 刪除文件夾的所有文件
              /// </summary>
              /// <param name="path"></param>
              protected void DeleteFiles(string path)
              {
                  DirectoryInfo di = new DirectoryInfo(path);
                  FileInfo[] fis = di.GetFiles();
                  foreach (FileInfo fi in fis)
                  {
                      try
                      {
                          fi.Delete();
                      }
                      catch
                      {
                          continue;
                      }
                  }

              }
            

             

          }
      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多