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#法式設計有所贊助。