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

C#目錄和文件管理操作詳解

 更新時間:2022年10月31日 15:48:57   作者:緣友一世  
在C#中常用的目錄操作類有Directory,DirectoryInfo,下面這篇文章主要給大家介紹了關(guān)于C#目錄和文件管理操作的相關(guān)資料,需要的朋友可以參考下

目錄和文件管理

在.NET框架中,與操作系統(tǒng)環(huán)境相關(guān)的類主要有兩個:

  • 一個是Environment類,該類除了提供當前環(huán)境和操作系統(tǒng)平臺相關(guān)的信息外,還提供了獲取本地邏輯驅(qū)動器和特殊文件夾的方法。
  • 另一個是DriveInfo類,提供了本地驅(qū)動器相關(guān)的詳細信息。

Environment類

使用 Environment 類可檢索與操作系統(tǒng)相關(guān)的信息,如命令行參數(shù)、退出代碼、環(huán)境變量設(shè)置、調(diào)用堆棧的內(nèi)容、自上次系統(tǒng)啟動以來的時間,以及公共語言運行庫的版本等。

例子

StringBuilder sb = new StringBuilder();
String[] drives = Environment.GetLogicalDrives();
sb.AppendLine("本機邏輯驅(qū)動器:" + String.Join(", ", drives));
sb.AppendLine("操作系統(tǒng)版本:" + Environment.OSVersion.VersionString);
sb.AppendLine("是否為64位系統(tǒng):" + Environment.Is64BitOperatingSystem);
sb.AppendLine("計算機名:" + Environment.MachineName);
sb.AppendLine("處理器個數(shù):" + Environment.ProcessorCount);
sb.AppendLine("系統(tǒng)啟動后經(jīng)過的毫秒數(shù):" + Environment.TickCount);
sb.AppendLine("登錄用戶名:" + Environment.UserName);
Console.WriteLine(sb.ToString());

DriveInfo類

 DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
    Console.WriteLine("Drive {0}", d.Name);
    Console.WriteLine("文件類型: {0}", d.DriveType);
    if (d.IsReady == true)
    {
        Console.WriteLine("卷標: {0}", d.VolumeLabel);
        Console.WriteLine("文件系統(tǒng): {0}", d.DriveFormat);
        Console.WriteLine("當前用戶可用空間:{0} bytes", d.AvailableFreeSpace);
        Console.WriteLine("總可用空間:{0} bytes", d.TotalFreeSpace);
        Console.WriteLine("驅(qū)動器總?cè)萘?{0} bytes ", d.TotalSize);
    }
}

Path類

Path類用于對包含文件或目錄路徑信息的String實例執(zhí)行操作。Path類的大多數(shù)成員不與文件系統(tǒng)交互,并且不會驗證路徑字符串指定的文件是否存在,但Path成員可驗證表示路徑的字符串是否有效,如果表示路徑的字符串中包含無效字符,則該類將則引發(fā)ArgumentException異常。

目錄管理

Directory類提供了一些靜態(tài)方法,利用它們可對磁盤和目錄進行管理,如復(fù)制、移動、重命名、創(chuàng)建、刪除目錄等。

  • CreateDirectory
    • public static DirectoryInfo CreateDirectory (string path)
    • 如果指定的目錄不存在,程序中調(diào)用該方法后,系統(tǒng)會按path指定的路徑創(chuàng)建所有目錄和子目錄。
  • Delete方法用于刪除指定的目錄
    • public static void Delete(string path, bool recursive)
    • 其中,參數(shù)path為要移除的目錄的名稱。path參數(shù)不區(qū)分大小寫,可以是相對于當前工作目錄的相對路徑,也可以是絕對路徑。recursive是一個布爾值,如果要移除path中的目錄(包括所有子目錄和文件),則為true;否則為false。
  • Move
    • public static void Move (string sourceDirName, string destDirName)
    • sourceDirName為要移動的文件或目錄的路徑;destDirName為新位置的目標路徑。
    • destDirName參數(shù)指定的目標路徑應(yīng)為新目錄,例如,將“c:\mydir”移動到“c:\public”,如果“c:\public”已存在,則此方法會引發(fā)IOException異常。

文件管理

在System.IO命名空間下,.NET框架提供有一個File類,利用它可對文件進行各種操作,如判斷文件是否存在、創(chuàng)建、復(fù)制、移動、刪除、讀寫文件。

1、判斷文件是否存在

調(diào)用File類的Exists方法可以判斷是否存在指定的文件。例如:

string path1 = @"c:\temp\MyTest1.txt";
if (File.Exists(path1))
{
	Console.WriteLine("存在 {0}文件", path1);
}
else
{
	Console.WriteLine("不存在 {0}文件", path1);
}

2、復(fù)制文件

  • File類的Copy方法用于將現(xiàn)有文件復(fù)制到新文件。常用原型為
  • public static void Copy (string sourceFileName, string destFileName, bool overwrite)
  • 其中,參數(shù)sourceFileName為被復(fù)制的文件;destFileName為目標文件的名稱;overwrite表示是否可以覆蓋目標文件,如果可以覆蓋目標文件,則為true,否則為false。
  • 例如:
string path1 = @"c:\temp\MyTest1.txt";
if (!File.Exists(path1))
{
	File.WriteAllText(path1, "OK");
}
string path2 = @"c:\temp\MyTest2.txt";
File.Copy(path1, path2, true);

- 在這段代碼中,如果目標文件已存在,就直接覆蓋。實際應(yīng)用時,一般會先詢問用戶是否覆蓋目標文件,然后再根據(jù)用戶的選擇決定是否覆蓋目標文件。

3、刪除文件

  • File類的Delete方法用于刪除指定的文件。如果指定的文件不存在,則不進行任何操作,也不會產(chǎn)生異常。
  • 方法原型為:public static void Delete (string path)
  • 其中,參數(shù)path為要刪除的帶完整路徑的文件名稱。

4、移動文件

  • File類的Move方法用于將指定文件移到新位置,并提供指定新文件名的選項。
  • 方法原型為public static void Move (string sourceFileName, string destFileName)
  • 其中,參數(shù)sourceFileName為要移動的文件名稱,destFileName為文件的新路徑。

5、判斷某個路徑是目錄還是文件

  • 下面的代碼演示了如何判斷某個路徑是目錄還是文件:
if ((File.GetAttributes(path) & FileAttributes.Directory) == FileAttributes.Directory)
{
	Console.WriteLine("{0}是目錄", path);
}
else
{
	Console.WriteLine("{0}是文件", path);
}

總結(jié)

到此這篇關(guān)于C#目錄和文件管理操作的文章就介紹到這了,更多相關(guān)C#目錄和文件管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#中的Internal關(guān)鍵字小結(jié)

    C#中的Internal關(guān)鍵字小結(jié)

    這篇文章主要介紹了C#中的Internal關(guān)鍵字小結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • C#微信接口之推送模板消息功能示例

    C#微信接口之推送模板消息功能示例

    這篇文章主要介紹了C#微信接口之推送模板消息功能,結(jié)合實例形式分析了C#操作微信推送模板消息接口的具體操作步驟與相關(guān)使用技巧,需要的朋友可以參考下
    2017-07-07
  • 將excel數(shù)據(jù)轉(zhuǎn)換成dataset示例

    將excel數(shù)據(jù)轉(zhuǎn)換成dataset示例

    這篇文章主要介紹了不借助第三方插件的情況下將Excel中的數(shù)據(jù)轉(zhuǎn)換成DataSet的方法,需要的朋友可以參考下
    2014-02-02
  • C#反射應(yīng)用實例

    C#反射應(yīng)用實例

    這篇文章主要介紹了C#反射應(yīng)用,實例分析了通過反射實現(xiàn)多系統(tǒng)數(shù)據(jù)庫的配置方法,是比較實用的技巧,需要的朋友可以參考下
    2014-12-12
  • C# WinForm快捷鍵設(shè)置技巧

    C# WinForm快捷鍵設(shè)置技巧

    這篇文章主要給大家介紹C# winform快捷鍵設(shè)置技巧,涉及到C winform快捷鍵相關(guān)知識,對C winform知識感興趣的朋友可以參考下本篇文章
    2015-10-10
  • C# TabControl控件中TabPage選項卡切換時的觸發(fā)事件問題

    C# TabControl控件中TabPage選項卡切換時的觸發(fā)事件問題

    這篇文章主要介紹了C# TabControl控件中TabPage選項卡切換時的觸發(fā)事件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • C#模擬瀏覽器實現(xiàn)自動操作

    C#模擬瀏覽器實現(xiàn)自動操作

    這篇文章主要為大家詳細介紹了如何使用C#實現(xiàn)模擬瀏覽器實現(xiàn)自動操作,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2024-11-11
  • C#提取PDF中指定文本與圖片坐標的示例代碼

    C#提取PDF中指定文本與圖片坐標的示例代碼

    這篇文章主要為大家詳細介紹了如何使用國產(chǎn)PDF庫通過C# 提取PDF中指定文本或圖片的坐標位置(X, Y軸),感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2023-12-12
  • C#獲取文件夾所占空間大小的功能

    C#獲取文件夾所占空間大小的功能

    這篇文章介紹了C#獲取文件夾所占空間大小的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#探秘系列(二)——IsXXX 系列方法

    C#探秘系列(二)——IsXXX 系列方法

    VS是個大平臺,當C#不好實現(xiàn)的時候,可以想想是否可以引用下其他語言下面的方法,或許你有大收獲~
    2014-05-05

最新評論

额济纳旗| 包头市| 元江| 孝义市| 博客| 娱乐| 高阳县| 阳高县| 临桂县| 郯城县| 福州市| 无极县| 开江县| 晋中市| 志丹县| 潮州市| 城步| 昌黎县| 古丈县| 阿克苏市| 南宁市| 杭锦旗| 漳州市| 武穴市| 广德县| 肇源县| 三江| 锦屏县| 阿坝县| 健康| 衡阳市| 三明市| 海口市| 台北县| 信丰县| 平邑县| 阳江市| 湛江市| 永福县| 千阳县| 偏关县|