亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#路徑,文件,目錄及IO常見操作匯總

 更新時(shí)間:2015年09月22日 12:36:57   作者:我心依舊  
這篇文章主要介紹了C#路徑,文件,目錄及IO常見操作,較為詳細(xì)的分析并匯總了C#關(guān)于路徑,文件,目錄及IO常見操作,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

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

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

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

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

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

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

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

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

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

Path.GetDirectoryName :返回指定路徑字符串的目錄信息;
Path.GetExtension : 返回指定的路徑字符串的擴(kuò)展名;
Path.GetFileName : 返回指定路徑字符串的文件名和擴(kuò)展名;
Path.GetFileNameWithoutExtension :返回不具有擴(kuò)展名的路徑字符串的文件名;
Path.GetPathRoot :獲取指定路徑的根目錄信息;

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

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

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

主要是使用System. Environment類的相關(guān)屬性和方法:
Environment. SystemDirectory屬性:獲取系統(tǒng)目錄的完全限定路徑;
Environment. GetFolderPath方法:該方法接受的參數(shù)類型為Environment.SpecialFolder枚舉,
通過這個(gè)方法可以獲得大量系統(tǒng)文件夾的路徑,如我的電腦,我的電腦,桌面,系統(tǒng)目錄等;
Path.GetTempPath方法:返回當(dāng)前系統(tǒng)的臨時(shí)文件夾的路徑;

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

使用Path.IsPathRooted方法;

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

使用Directory類的GetCurrentDirectory和SetCurrentDirectory方法;

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

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:計(jì)算一個(gè)目錄的大小

private long CalculateDirSize(DirectoryInfo di, bool includeSubDir)
{
  long totalSize = 0;
  // 檢查所有(直接)包含的文件
  FileInfo[] files = di.GetFiles();
  foreach (FileInfo file in files)
  {
   totalSize += file.Length;
  }
  // 檢查所有子目錄,如果includeSubDir參數(shù)為true
  if (includeSubDir)
  {
   DirectoryInfo[] dirs = di.GetDirectories();
   foreach (DirectoryInfo dir in dirs)
   {
    totalSize += CalculateDirSize(dir, includeSubDir);
   }
  }
  return totalSize;
}

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

相關(guān)文章

  • c# 在windows中操作IIS設(shè)置FTP服務(wù)器的示例

    c# 在windows中操作IIS設(shè)置FTP服務(wù)器的示例

    這篇文章主要介紹了c# 在windows中操作IIS設(shè)置FTP服務(wù)器的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#并行編程之?dāng)?shù)據(jù)并行Tasks.Parallel類

    C#并行編程之?dāng)?shù)據(jù)并行Tasks.Parallel類

    這篇文章介紹了C#并行編程之?dāng)?shù)據(jù)并行Tasks.Parallel類,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • c# AcceptEx與完成端口(IOCP)結(jié)合的示例

    c# AcceptEx與完成端口(IOCP)結(jié)合的示例

    這篇文章主要介紹了c# AcceptEx與完成端口(IOCP)結(jié)合的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • Unity技術(shù)手冊之Toggle切換使用實(shí)例

    Unity技術(shù)手冊之Toggle切換使用實(shí)例

    這篇文章主要為大家介紹了Unity技術(shù)手冊之Toggle切換使用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • C#創(chuàng)建自簽名認(rèn)證文件的方法

    C#創(chuàng)建自簽名認(rèn)證文件的方法

    這篇文章主要介紹了C#創(chuàng)建自簽名認(rèn)證文件的方法,實(shí)例分析了C#自簽名認(rèn)證文件的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • C# Unicode編碼解碼的實(shí)現(xiàn)

    C# Unicode編碼解碼的實(shí)現(xiàn)

    本文主要介紹了C# Unicode編碼解碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 深入c# Func委托的詳解

    深入c# Func委托的詳解

    本篇文章是對c#中的Func委托進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • C#中多態(tài)、重載、重寫區(qū)別分析

    C#中多態(tài)、重載、重寫區(qū)別分析

    這篇文章主要介紹了C#中多態(tài)、重載、重寫區(qū)別,采用實(shí)例較為通俗易懂的分析了多態(tài)、重載的重寫的概念與用法,對于C#初學(xué)者有非常不錯(cuò)的借鑒價(jià)值,需要的朋友可以參考下
    2014-09-09
  • WPF實(shí)現(xiàn)平面三角形3D運(yùn)動(dòng)效果

    WPF實(shí)現(xiàn)平面三角形3D運(yùn)動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)平面三角形3D運(yùn)動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Quartz.Net實(shí)現(xiàn)原理及使用方法詳解

    Quartz.Net實(shí)現(xiàn)原理及使用方法詳解

    這篇文章主要介紹了Quartz.Net實(shí)現(xiàn)原理及使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論