程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#途徑,文件,目次及IO罕見操作匯總

C#途徑,文件,目次及IO罕見操作匯總

編輯:C#入門知識

C#途徑,文件,目次及IO罕見操作匯總。本站提示廣大學習愛好者:(C#途徑,文件,目次及IO罕見操作匯總)文章只能為提供參考,不一定能成為您想要的結果。以下是C#途徑,文件,目次及IO罕見操作匯總正文


本文實例匯總了C#途徑,文件,目次及IO罕見操作。分享給年夜家供年夜家參考。詳細以下:

成績1:若何剖斷一個給定的途徑能否有用/正當;

經由過程Path.GetInvalidPathChars或Path.GetInvalidFileNameChars辦法取得不法的途徑/文件名字符,可以

依據它來斷定途徑中能否包括不法字符;

成績2:若何肯定一個途徑字符串是表現目次照樣文件;

1、應用Directory.Exists或File.Exist辦法,假如前者為真,則途徑表現目次;假如後者為真,則途徑表現文件;

2、下面的辦法有個缺陷就是不克不及處置那些不存在的文件或目次。這時候可以斟酌應用Path.GetFileName辦法取得

其包括的文件名,假如一個途徑不為空,而文件名為空那末它表現目次,不然表現文件;

成績3:若何取得途徑的某個特定部門(如文件名、擴大名等);

Path.GetDirectoryName :前往指定途徑字符串的目次信息;
Path.GetExtension : 前往指定的途徑字符串的擴大名;
Path.GetFileName : 前往指定途徑字符串的文件名和擴大名;
Path.GetFileNameWithoutExtension :前往不具有擴大名的途徑字符串的文件名;
Path.GetPathRoot :獲得指定途徑的根目次信息;

成績4:若何精確地歸並兩個途徑而不消去擔憂誰人煩人的"\"字符;

應用Path.Combine辦法,它會幫你處置煩人的"\";

成績5:若何取得體系目次的的途徑(如桌面,我的文檔,暫時文件夾等);

重要是應用System. Environment類的相干屬性和辦法:
Environment. SystemDirectory屬性:獲得體系目次的完整限制途徑;
Environment. GetFolderPath辦法:該辦法接收的參數類型為Environment.SpecialFolder列舉,
經由過程這個辦法可以取得年夜量體系文件夾的途徑,如我的電腦,我的電腦,桌面,體系目次等;
Path.GetTempPath辦法:前往以後體系的暫時文件夾的途徑;

成績6:若何斷定一個途徑是相對途徑照樣絕對途徑;

應用Path.IsPathRooted辦法;

成績7:若何讀取或設置以後目次;

應用Directory類的GetCurrentDirectory和SetCurrentDirectory辦法;

成績8:斷定兩個文件的內容能否分歧

public static bool IsFilesEqual(string fileName1, string fileName2)
{
  using (HashAlgorithm hashAlg = HashAlgorithm.Create())
  {
   using (FileStream fs1 = new FileStream(fileName1, FileMode.Open), fs2 = new FileStream(fileName2, FileMode.Open))
   {
    byte[] hashBytes1 = hashAlg.ComputeHash(fs1);
    byte[] hashBytes2 = hashAlg.ComputeHash(fs2);
    // 比擬哈希碼
    return (BitConverter.ToString(hashBytes1) == BitConverter.ToString(hashBytes2));
   }
  }
}

成績9:盤算一個目次的年夜小

private long CalculateDirSize(DirectoryInfo di, bool includeSubDir)
{
  long totalSize = 0;
  // 檢討一切(直接)包括的文件
  FileInfo[] files = di.GetFiles();
  foreach (FileInfo file in files)
  {
   totalSize += file.Length;
  }
  // 檢討一切子目次,假如includeSubDir參數為true
  if (includeSubDir)
  {
   DirectoryInfo[] dirs = di.GetDirectories();
   foreach (DirectoryInfo dir in dirs)
   {
    totalSize += CalculateDirSize(dir, includeSubDir);
   }
  }
  return totalSize;
}

願望本文所述對年夜家的C#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved