C# 文件和目錄

C#提供了以下用于文件系統(tǒng)的類。它們可用于訪問目錄,訪問文件,打開文件以進(jìn)行讀取或?qū)懭?,?chuàng)建新文件或?qū)F(xiàn)有文件從一個(gè)位置移動(dòng)到另一位置等。

類名稱用法
FileFile是一個(gè)靜態(tài)類,提供不同的功能,例如復(fù)制,創(chuàng)建,移動(dòng),刪除,打開以進(jìn)行讀取或?qū)懭耄用芑蚪饷?,檢查文件是否存在,在文件內(nèi)容中添加行或文本,獲取上次訪問時(shí)間等。
FileInfoFileInfo類提供與靜態(tài)File類相同的功能。通過手動(dòng)編寫用于從文件讀取或?qū)懭胱止?jié)的代碼,您可以更好地控制對(duì)文件的讀/寫操作。
Directory目錄是一個(gè)靜態(tài)類,提供創(chuàng)建,移動(dòng),刪除和訪問子目錄的功能。  
DirectoryInfoDirectoryInfo提供了用于創(chuàng)建,移動(dòng),刪除和訪問子目錄的實(shí)例方法。  
PathPath是一個(gè)靜態(tài)類,提供一些功能,例如檢索文件擴(kuò)展名,更改文件擴(kuò)展名,檢索絕對(duì)物理路徑以及其他與路徑相關(guān)的功能。

文件(File)

C# 包含靜態(tài) File 類,用于在物理文件系統(tǒng)上執(zhí)行 i/o 操作。靜態(tài)文件類包括各種實(shí)用方法,可以與任何類型的物理文件(如二進(jìn)制文件、文本文件等)進(jìn)行交互。

使用此靜態(tài)File類對(duì)物理文件執(zhí)行一些快速操作。由于性能原因,不建議將File類同時(shí)用于多個(gè)文件的多個(gè)操作。在這種情況下使用FileInfo類。

靜態(tài)File類的重要方法

方法用法
AppendAllLines將行追加到文件,然后關(guān)閉該文件。如果指定的文件不存在,則此方法將創(chuàng)建一個(gè)文件,將指定的行寫入該文件,然后關(guān)閉該文件。
AppendAllText打開一個(gè)文件,將指定的字符串附加到該文件,然后關(guān)閉該文件。如果該文件不存在,則此方法將創(chuàng)建一個(gè)文件,將指定的字符串寫入該文件,然后關(guān)閉該文件。
AppendText創(chuàng)建一個(gè)StreamWriter,它將UTF-8編碼的文本附加到現(xiàn)有文件,或者如果指定的文件不存在,則附加到新文件。
Copy將現(xiàn)有文件復(fù)制到新文件。不允許覆蓋同名文件。
Create在指定路徑中創(chuàng)建或覆蓋文件。
CreateText創(chuàng)建或打開用于寫入U(xiǎn)TF-8編碼文本的文件。
Decrypt使用Encrypt方法解密由當(dāng)前帳戶加密的文件。
Delete刪除指定的文件。
Encrypt加密文件,以便只有用于加密文件的帳戶才能解密該文件。
Exists確定指定的文件是否存在。
GetAccessControl獲取一個(gè)FileSecurity對(duì)象,該對(duì)象封裝了指定文件的訪問控制列表(ACL)條目。
Move將指定的文件移動(dòng)到新位置,并提供指定新文件名的選項(xiàng)。
Open在具有讀取/寫入訪問權(quán)限的指定路徑上打開FileStream。
ReadAllBytes打開一個(gè)二進(jìn)制文件,將文件的內(nèi)容讀入字節(jié)數(shù)組,然后關(guān)閉該文件。
ReadAllLines打開一個(gè)文本文件,讀取文件的所有行,然后關(guān)閉文件。
ReadAllText打開一個(gè)文本文件,讀取文件的所有行,然后關(guān)閉文件。
Replace用另一個(gè)文件的內(nèi)容替換指定文件的內(nèi)容,刪除原始文件,并創(chuàng)建替換文件的備份。
WriteAllBytes創(chuàng)建一個(gè)新文件,將指定的字節(jié)數(shù)組寫入該文件,然后關(guān)閉該文件。如果目標(biāo)文件已經(jīng)存在,則將其覆蓋。
WriteAllLines創(chuàng)建一個(gè)新文件,將字符串集合寫入該文件,然后關(guān)閉該文件。
WriteAllText創(chuàng)建一個(gè)新文件,將指定的字符串寫入該文件,然后關(guān)閉該文件。如果目標(biāo)文件已經(jīng)存在,則將其覆蓋。

追加文字行

使用AppendAllLines()方法將多行文本添加到指定文件,如下所示。

string dummyLines = "This is first line." + Environment.NewLine +
                    "This is second line." + Environment.NewLine +
                    "This is third line.";

//打開DummyFile.txt并追加行。如果文件不存在,則創(chuàng)建并打開。
File.AppendAllLines(@"C:\DummyFile.txt", dummyLines.Split(Environment.NewLine.ToCharArray()).ToList<string>());

追加字符串

使用 File.AppendAllText ()方法將字符串追加到單行代碼的文件中,如下所示。

//打開DummyFile.txt并附加文本。如果文件不存在,則創(chuàng)建并打開。
File.AppendAllText(@"C:\ DummyFile.txt", "This is File testing");

覆蓋文本

使用File.WriteAllText()方法將文本寫入文件。請(qǐng)注意,它不會(huì)追加文本,但覆蓋現(xiàn)有的文本。

    示例:覆蓋現(xiàn)有文本

//打開DummyFile.txt并編寫文本。如果文件不存在,則創(chuàng)建并打開。
File.WriteAllText(@"C:\DummyFile.txt", "This is dummy text");

下面的示例演示如何使用靜態(tài)File類執(zhí)行不同的操作。

//檢查文件在特定位置是否存在
bool isFileExists = File.Exists(@"C:\ DummyFile.txt"); // 返回假

//將DummyFile.txt復(fù)制為新文件DummyFileNew.txt
File.Copy(@"C:\DummyFile.txt", @"D:\NewDummyFile.txt");

//獲取上次訪問文件的時(shí)間 
DateTime lastAccessTime = File.GetLastAccessTime(@"C:\DummyFile.txt");

//獲取上次寫入文件的時(shí)間
DateTime lastWriteTime = File.GetLastWriteTime(@"C:\DummyFile.txt");

// 將文件移到新位置
File.Move(@"C:\DummyFile.txt", @"D:\DummyFile.txt");

//打開文件并返回FileStream以從文件讀取字節(jié)
FileStream fs = File.Open(@"D:\DummyFile.txt", FileMode.OpenOrCreate);

//打開文件并返回StreamReader以從文件中讀取字符串
StreamReader sr = File.OpenText(@"D:\DummyFile.txt");
    
//刪除文件
File.Delete(@"C:\DummyFile.txt");

因此,使用靜態(tài) File 類很容易處理物理文件。但是,如果您想要更多的靈活性,那么可以使用 FileInfo 類。同樣,使用靜態(tài) Directory 類處理物理目錄。

要記住的要點(diǎn)

  1. File 是一個(gè)靜態(tài)類,可以用較少的編碼從物理文件讀取\寫入。

  2. 靜態(tài) File 類為物理文件提供了諸如創(chuàng)建,讀取\寫入,復(fù)制,移動(dòng),刪除等功能。

  3. 靜態(tài) Directory 類以更少的編碼為物理目錄提供了諸如創(chuàng)建,復(fù)制,移動(dòng),刪除等功能。

  4. FileInfo 和 DirectoryInfo 類提供與靜態(tài)File和Directory類相同的功能。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清