最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年09月22日 12:36:57   作者:我心依舊  
這篇文章主要介紹了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類的相關(guān)屬性和方法:
Environment. SystemDirectory屬性:獲取系統(tǒng)目錄的完全限定路徑;
Environment. GetFolderPath方法:該方法接受的參數(shù)類型為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類的GetCurrentDirectory和SetCurrentDirectory方法;

問(wèn)題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));
   }
  }
}

問(wèn)題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;
}

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

相關(guān)文章

  • C#的并發(fā)機(jī)制優(yōu)秀在哪你知道么

    C#的并發(fā)機(jī)制優(yōu)秀在哪你知道么

    這篇文章主要為大家詳細(xì)介紹了C#的并發(fā)機(jī)制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • C#實(shí)現(xiàn)組合排列的方法

    C#實(shí)現(xiàn)組合排列的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)組合排列的方法的相關(guān)資料,并附實(shí)例代碼,需要的朋友可以參考下
    2016-10-10
  • C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫(kù)中讀取頭像

    C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫(kù)中讀取頭像

    C#提供的PictureBox控鍵默認(rèn)情況下是方形的非常大的影響美觀,怎么解決這一問(wèn)題呢?下面小編給大家?guī)?lái)了C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫(kù)中讀取頭像的操作代碼,感興趣的朋友一起學(xué)習(xí)下吧
    2021-08-08
  • C#結(jié)構(gòu)體特性實(shí)例分析

    C#結(jié)構(gòu)體特性實(shí)例分析

    這篇文章主要介紹了C#結(jié)構(gòu)體特性,以實(shí)例形式較為詳細(xì)的分析了C#結(jié)構(gòu)體的功能、定義及相關(guān)特性,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • 在WinForm中發(fā)送HTTP請(qǐng)求的實(shí)現(xiàn)方法

    在WinForm中發(fā)送HTTP請(qǐng)求的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇在WinForm中發(fā)送HTTP請(qǐng)求的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • C#實(shí)現(xiàn)將Doc文檔轉(zhuǎn)換成rtf格式的方法示例

    C#實(shí)現(xiàn)將Doc文檔轉(zhuǎn)換成rtf格式的方法示例

    這篇文章主要介紹了C#實(shí)現(xiàn)將Doc文檔轉(zhuǎn)換成rtf格式的方法,結(jié)合實(shí)例形式分析了C#針對(duì)word文件的讀取及文檔格式轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • C#中XML基礎(chǔ)用法

    C#中XML基礎(chǔ)用法

    可擴(kuò)展標(biāo)記語(yǔ)言,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集,簡(jiǎn)稱XML。是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言。這篇文章介紹了C#中XML基礎(chǔ)的用法,下面的實(shí)例代碼,大家可以看看
    2021-12-12
  • C#的Process類調(diào)用第三方插件實(shí)現(xiàn)PDF文件轉(zhuǎn)SWF文件

    C#的Process類調(diào)用第三方插件實(shí)現(xiàn)PDF文件轉(zhuǎn)SWF文件

    本篇文章主要介紹了C#的Process類調(diào)用第三方插件實(shí)現(xiàn)PDF文件轉(zhuǎn)SWF文件,現(xiàn)在分享給大家,具有一定的參考價(jià)值,有需要的可以了解一下。
    2016-11-11
  • C#備忘錄模式(Memento Pattern)實(shí)例教程

    C#備忘錄模式(Memento Pattern)實(shí)例教程

    這篇文章主要介紹了C#備忘錄模式(Memento Pattern),以一個(gè)支持回退操作的例子講述了C#備忘模式的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2014-09-09
  • C#實(shí)現(xiàn)的Windows剪貼板監(jiān)視器功能實(shí)例【附demo源碼下載】

    C#實(shí)現(xiàn)的Windows剪貼板監(jiān)視器功能實(shí)例【附demo源碼下載】

    這篇文章主要介紹了C#實(shí)現(xiàn)的Windows剪貼板監(jiān)視器功能,結(jié)合實(shí)例形式分析了C#實(shí)現(xiàn)剪貼板監(jiān)視功能所涉及的相關(guān)Windows API函數(shù)與使用技巧,需要的朋友可以參考下
    2016-08-08

最新評(píng)論

克拉玛依市| 桐柏县| 隆安县| 寿阳县| 五大连池市| 余庆县| 望江县| 鲁山县| 宝鸡市| 兴城市| 阜平县| 莱芜市| 南康市| 扶沟县| 开远市| 荣昌县| 万载县| 镇雄县| 乐昌市| 利辛县| 疏勒县| 伊宁市| 江华| 建始县| 和林格尔县| 怀宁县| 大同县| 华坪县| 鄂伦春自治旗| 恩施市| 明水县| 宁波市| 弥勒县| 深圳市| 调兵山市| 平谷区| 伊金霍洛旗| 渭南市| 旌德县| 三明市| 维西|