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

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

    • 分享

      文件目錄常用操作的類

       悟靜 2012-03-07
      using System;
      using System.IO;
      using System.Xml;
        
      namespace Test
      {
          /// <summary>
          /// FileDirectoryUtility 類,方法不包含異常處理
          /// </summary>
          public class FileDirectoryUtility
          {
              /// <summary>
              /// 路徑分割符
              /// </summary>
              private const string PATH_SPLIT_CHAR = "\\";
        
              /// <summary>
              /// 構(gòu)造函數(shù)
              /// </summary>
              private FileDirectoryUtility()
              {
              }
        
              /// <summary>
              /// 復(fù)制指定目錄的所有文件,不包含子目錄及子目錄中的文件
              /// </summary>
              /// <param name="sourceDir">原始目錄</param>
              /// <param name="targetDir">目標(biāo)目錄</param>
              /// <param name="overWrite">如果為true,表示覆蓋同名文件,否則不覆蓋</param>
              public static void CopyFiles(string sourceDir, string targetDir, bool overWrite)
              {
                  CopyFiles(sourceDir, targetDir, overWrite, false);
              }
        
              /// <summary>
              /// 復(fù)制指定目錄的所有文件
              /// </summary>
              /// <param name="sourceDir">原始目錄</param>
              /// <param name="targetDir">目標(biāo)目錄</param>
              /// <param name="overWrite">如果為true,覆蓋同名文件,否則不覆蓋</param>
              /// <param name="copySubDir">如果為true,包含目錄,否則不包含</param>
              public static void CopyFiles(string sourceDir, string targetDir, bool overWrite, bool copySubDir)
              {
                  //復(fù)制當(dāng)前目錄文件
                  foreach (string sourceFileName in Directory.GetFiles(sourceDir))
                  {
                      string targetFileName = Path.Combine(targetDir, sourceFileName.Substring(sourceFileName.LastIndexOf(PATH_SPLIT_CHAR) + 1));
        
                      if (File.Exists(targetFileName))
                      {
                          if (overWrite == true)
                          {
                              File.SetAttributes(targetFileName, FileAttributes.Normal);
                              File.Copy(sourceFileName, targetFileName, overWrite);
                          }
                      }
                      else
                      {
                          File.Copy(sourceFileName, targetFileName, overWrite);
                      }
                  }
                  //復(fù)制子目錄
                  if (copySubDir)
                  {
                      foreach (string sourceSubDir in Directory.GetDirectories(sourceDir))
                      {
                          string targetSubDir = Path.Combine(targetDir, sourceSubDir.Substring(sourceSubDir.LastIndexOf(PATH_SPLIT_CHAR) + 1));
                          if (!Directory.Exists(targetSubDir))
                              Directory.CreateDirectory(targetSubDir);
                          CopyFiles(sourceSubDir, targetSubDir, overWrite, true);
                      }
                  }
              }
        
              /// <summary>
              /// 剪切指定目錄的所有文件,不包含子目錄
              /// </summary>
              /// <param name="sourceDir">原始目錄</param>
              /// <param name="targetDir">目標(biāo)目錄</param>
              /// <param name="overWrite">如果為true,覆蓋同名文件,否則不覆蓋</param>
              public static void MoveFiles(string sourceDir, string targetDir, bool overWrite)
              {
                  MoveFiles(sourceDir, targetDir, overWrite, false);
              }
        
              /// <summary>
              /// 剪切指定目錄的所有文件
              /// </summary>
              /// <param name="sourceDir">原始目錄</param>
              /// <param name="targetDir">目標(biāo)目錄</param>
              /// <param name="overWrite">如果為true,覆蓋同名文件,否則不覆蓋</param>
              /// <param name="moveSubDir">如果為true,包含目錄,否則不包含</param>
              public static void MoveFiles(string sourceDir, string targetDir, bool overWrite, bool moveSubDir)
              {
                  //移動當(dāng)前目錄文件
                  foreach (string sourceFileName in Directory.GetFiles(sourceDir))
                  {
                      string targetFileName = Path.Combine(targetDir, sourceFileName.Substring(sourceFileName.LastIndexOf(PATH_SPLIT_CHAR) + 1));
                      if (File.Exists(targetFileName))
                      {
                          if (overWrite == true)
                          {
                              File.SetAttributes(targetFileName, FileAttributes.Normal);
                              File.Delete(targetFileName);
                              File.Move(sourceFileName, targetFileName);
                          }
                      }
                      else
                      {
                          File.Move(sourceFileName, targetFileName);
                      }
                  }
                  if (moveSubDir)
                  {
                      foreach (string sourceSubDir in Directory.GetDirectories(sourceDir))
                      {
                          string targetSubDir = Path.Combine(targetDir, sourceSubDir.Substring(sourceSubDir.LastIndexOf(PATH_SPLIT_CHAR) + 1));
                          if (!Directory.Exists(targetSubDir))
                              Directory.CreateDirectory(targetSubDir);
                          MoveFiles(sourceSubDir, targetSubDir, overWrite, true);
                          Directory.Delete(sourceSubDir);
                      }
                  }
              }
        
              /// <summary>
              /// 刪除指定目錄的所有文件,不包含子目錄
              /// </summary>
              /// <param name="targetDir">操作目錄</param>
              public static void DeleteFiles(string targetDir)
              {
                  DeleteFiles(targetDir, false);
              }
        
              /// <summary>
              /// 刪除指定目錄的所有文件和子目錄
              /// </summary>
              /// <param name="targetDir">操作目錄</param>
              /// <param name="delSubDir">如果為true,包含對子目錄的操作</param>
              public static void DeleteFiles(string targetDir, bool delSubDir)
              {
                  foreach (string fileName in Directory.GetFiles(targetDir))
                  {
                      File.SetAttributes(fileName, FileAttributes.Normal);
                      File.Delete(fileName);
                  }
                  if (delSubDir)
                  {
                      DirectoryInfo dir = new DirectoryInfo(targetDir);
                      foreach (DirectoryInfo subDi in dir.GetDirectories())
                      {
                          DeleteFiles(subDi.FullName, true);
                          subDi.Delete();
                      }
                  }
              }
        
              /// <summary>
              /// 創(chuàng)建指定目錄
              /// </summary>
              /// <param name="targetDir"></param>
              public static void CreateDirectory(string targetDir)
              {
                  DirectoryInfo dir = new DirectoryInfo(targetDir);
                  if (!dir.Exists)
                      dir.Create();
              }
        
              /// <summary>
              /// 建立子目錄
              /// </summary>
              /// <param name="targetDir">目錄路徑</param>
              /// <param name="subDirName">子目錄名稱</param>
              public static void CreateDirectory(string parentDir, string subDirName)
              {
                  CreateDirectory(parentDir + PATH_SPLIT_CHAR + subDirName);
              }
        
              /// <summary>
              /// 刪除指定目錄
              /// </summary>
              /// <param name="targetDir">目錄路徑</param>
              public static void DeleteDirectory(string targetDir)
              {
                  DirectoryInfo dirInfo = new DirectoryInfo(targetDir);
                  if (dirInfo.Exists)
                  {
                      DeleteFiles(targetDir, true);
                      dirInfo.Delete(true);
                  }
              }
        
              /// <summary>
              /// 刪除指定目錄的所有子目錄,不包括對當(dāng)前目錄文件的刪除
              /// </summary>
              /// <param name="targetDir">目錄路徑</param>
              public static void DeleteSubDirectory(string targetDir)
              {
                  foreach (string subDir in Directory.GetDirectories(targetDir))
                  {
                      DeleteDirectory(subDir);
                  }
              }
        
              /// <summary>
              /// 將指定目錄下的子目錄和文件生成xml文檔
              /// </summary>
              /// <param name="targetDir">根目錄</param>
              /// <returns>返回XmlDocument對象</returns>
              public static XmlDocument CreateXml(string targetDir)
              {
                  XmlDocument myDocument = new XmlDocument();
                  XmlDeclaration declaration = myDocument.CreateXmlDeclaration("1.0", "utf-8", null);
                  myDocument.AppendChild(declaration);
                  XmlElement rootElement = myDocument.CreateElement(targetDir.Substring(targetDir.LastIndexOf(PATH_SPLIT_CHAR) + 1));
                  myDocument.AppendChild(rootElement);
                  foreach (string fileName in Directory.GetFiles(targetDir))
                  {
                      XmlElement childElement = myDocument.CreateElement("File");
                      childElement.InnerText = fileName.Substring(fileName.LastIndexOf(PATH_SPLIT_CHAR) + 1);
                      rootElement.AppendChild(childElement);
                  }
                  foreach (string directory in Directory.GetDirectories(targetDir))
                  {
                      XmlElement childElement = myDocument.CreateElement("Directory");
                      childElement.SetAttribute("Name", directory.Substring(directory.LastIndexOf(PATH_SPLIT_CHAR) + 1));
                      rootElement.AppendChild(childElement);
                      CreateBranch(directory, childElement, myDocument);
                  }
                  return myDocument;
              }
        
              /// <summary>
              /// 生成Xml分支
              /// </summary>
              /// <param name="targetDir">子目錄</param>
              /// <param name="xmlNode">父目錄XmlDocument</param>
              /// <param name="myDocument">XmlDocument對象</param>
              private static void CreateBranch(string targetDir, XmlElement xmlNode, XmlDocument myDocument)
              {
                  foreach (string fileName in Directory.GetFiles(targetDir))
                  {
                      XmlElement childElement = myDocument.CreateElement("File");
                      childElement.InnerText = fileName.Substring(fileName.LastIndexOf(PATH_SPLIT_CHAR) + 1);
                      xmlNode.AppendChild(childElement);
                  }
                  foreach (string directory in Directory.GetDirectories(targetDir))
                  {
                      XmlElement childElement = myDocument.CreateElement("Directory");
                      childElement.SetAttribute("Name", directory.Substring(directory.LastIndexOf(PATH_SPLIT_CHAR) + 1));
                      xmlNode.AppendChild(childElement);
                      CreateBranch(directory, childElement, myDocument);
                  }
              }
          }
      }

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多