国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C# > 正文

C#路徑,文件,目錄及IO常見(jiàn)操作匯總

2019-10-29 21:38:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了C#路徑,文件,目錄及IO常見(jiàn)操作,較為詳細(xì)的分析并匯總了C#關(guān)于路徑,文件,目錄及IO常見(jiàn)操作,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例匯總了C#路徑,文件,目錄及IO常見(jiàn)操作。分享給大家供大家參考。具體如下:

問(wèn)題1:如何判定一個(gè)給定的路徑是否有效/合法;

通過(guò)Path.GetInvalidPathChars或Path.GetInvalidFileNameChars方法獲得非法的路徑/文件名字符,可以

根據(jù)它來(lái)判斷路徑中是否包含非法字符;

問(wèn)題2:如何確定一個(gè)路徑字符串是表示目錄還是文件;

1、使用Directory.Exists或File.Exist方法,如果前者為真,則路徑表示目錄;如果后者為真,則路徑表示文件;

2、上面的方法有個(gè)缺點(diǎn)就是不能處理那些不存在的文件或目錄。這時(shí)可以考慮使用Path.GetFileName方法獲得

其包含的文件名,如果一個(gè)路徑不為空,而文件名為空那么它表示目錄,否則表示文件;

問(wèn)題3:如何獲得路徑的某個(gè)特定部分(如文件名、擴(kuò)展名等);

Path.GetDirectoryName :返回指定路徑字符串的目錄信息;

Path.GetExtension : 返回指定的路徑字符串的擴(kuò)展名;

Path.GetFileName : 返回指定路徑字符串的文件名和擴(kuò)展名;

Path.GetFileNameWithoutExtension :返回不具有擴(kuò)展名的路徑字符串的文件名;

Path.GetPathRoot :獲取指定路徑的根目錄信息;

問(wèn)題4:如何準(zhǔn)確地合并兩個(gè)路徑而不用去擔(dān)心那個(gè)煩人的"/"字符;

使用Path.Combine方法,它會(huì)幫你處理煩人的"/";

問(wèn)題5:如何獲得系統(tǒng)目錄的的路徑(如桌面,我的文檔,臨時(shí)文件夾等);

主要是使用System. Environment類(lèi)的相關(guān)屬性和方法:

Environment. SystemDirectory屬性:獲取系統(tǒng)目錄的完全限定路徑;

Environment. GetFolderPath方法:該方法接受的參數(shù)類(lèi)型為Environment.SpecialFolder枚舉,

通過(guò)這個(gè)方法可以獲得大量系統(tǒng)文件夾的路徑,如我的電腦,我的電腦,桌面,系統(tǒng)目錄等;

Path.GetTempPath方法:返回當(dāng)前系統(tǒng)的臨時(shí)文件夾的路徑;

問(wèn)題6:如何判斷一個(gè)路徑是絕對(duì)路徑還是相對(duì)路徑;

使用Path.IsPathRooted方法;

問(wèn)題7:如何讀取或設(shè)置當(dāng)前目錄;

使用Directory類(lèi)的GetCurrentDirectory和SetCurrentDirectory方法;

問(wèn)題8:判斷兩個(gè)文件的內(nèi)容是否一致

 

 
  1. public static bool IsFilesEqual(string fileName1, string fileName2) 
  2. using (HashAlgorithm hashAlg = HashAlgorithm.Create()) 
  3. using (FileStream fs1 = new FileStream(fileName1, FileMode.Open), fs2 = new FileStream(fileName2, FileMode.Open)) 
  4. byte[] hashBytes1 = hashAlg.ComputeHash(fs1); 
  5. byte[] hashBytes2 = hashAlg.ComputeHash(fs2); 
  6. // 比較哈希碼 
  7. return (BitConverter.ToString(hashBytes1) == BitConverter.ToString(hashBytes2)); 

問(wèn)題9:計(jì)算一個(gè)目錄的大小

 

 
  1. private long CalculateDirSize(DirectoryInfo di, bool includeSubDir) 
  2. long totalSize = 0; 
  3. // 檢查所有(直接)包含的文件 
  4. FileInfo[] files = di.GetFiles(); 
  5. foreach (FileInfo file in files) 
  6. totalSize += file.Length; 
  7. // 檢查所有子目錄,如果includeSubDir參數(shù)為true 
  8. if (includeSubDir) 
  9. DirectoryInfo[] dirs = di.GetDirectories(); 
  10. foreach (DirectoryInfo dir in dirs) 
  11. totalSize += CalculateDirSize(dir, includeSubDir); 
  12. return totalSize; 

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 娱乐| 伊金霍洛旗| 龙胜| 芦山县| 大余县| 广平县| 榆社县| 叶城县| 湖南省| 深州市| 波密县| 大连市| 长沙县| 拜泉县| 景宁| 曲阳县| 温宿县| 泾阳县| 五华县| 通城县| 莆田市| 嫩江县| 阜康市| 辽阳市| 海林市| 布拖县| 三台县| 水富县| 米易县| 宣恩县| 营口市| 遂平县| 平泉县| 分宜县| 和静县| 马尔康县| 措勤县| 海阳市| 湟源县| 保康县| 安康市|