C#中File类的常用读取与写入文件方法的使用
場景
File
命名空間:
System.IO
方法
AppendAllLines(String, IEnumerable<String>)?
向一個(gè)文件中追加行,然后關(guān)閉該文件。 如果指定文件不存在,此方法會(huì)創(chuàng)建一個(gè)文件,向其中寫入指定的行,然后關(guān)閉該文件。
AppendAllLines(String, IEnumerable<String>, Encoding)?
使用指定的編碼向一個(gè)文件中追加行,然后關(guān)閉該文件。 如果指定文件不存在,此方法會(huì)創(chuàng)建一個(gè)文件,向其中寫入指定的行,然后關(guān)閉該文件。
AppendAllText(String, String)?
打開一個(gè)文件,向其中追加指定的字符串,然后關(guān)閉該文件。 如果文件不存在,此方法將創(chuàng)建一個(gè)文件,將指定的字符串寫入文件,然后關(guān)閉該文件。
AppendAllText(String, String, Encoding)?
使用指定的編碼將指定的字符串追加到文件中,如果文件還不存在則創(chuàng)建該文件。
AppendText(String)?
創(chuàng)建一個(gè) StreamWriter,它將 UTF-8 編碼文本追加到現(xiàn)有文件或新文件(如果指定文件不存在)。
Copy(String, String)?
將現(xiàn)有文件復(fù)制到新文件。 不允許覆蓋同名的文件。
Copy(String, String, Boolean)?
將現(xiàn)有文件復(fù)制到新文件。 允許覆蓋同名的文件。
Create(String)?
在指定路徑中創(chuàng)建或覆蓋文件。
Create(String, Int32)?
創(chuàng)建或覆蓋指定的文件。
Create(String, Int32, FileOptions)?
創(chuàng)建或覆蓋指定的文件,指定緩沖區(qū)大小和一個(gè)描述如何創(chuàng)建或覆蓋該文件的 FileOptions 值。
Create(String, Int32, FileOptions, FileSecurity)?
創(chuàng)建或覆蓋具有指定的緩沖區(qū)大小、文件選項(xiàng)和文件安全性的指定文件。
CreateText(String)?
創(chuàng)建或打開用于寫入 UTF-8 編碼文本的文件。 如果該文件已存在,將覆蓋其內(nèi)容。
Decrypt(String)?
使用 Encrypt(String) 方法解密由當(dāng)前帳戶加密的文件。
Delete(String)?
刪除指定的文件。
Encrypt(String)?
將某個(gè)文件加密,使得只有加密該文件的帳戶才能將其解密。
Exists(String)?
確定指定的文件是否存在。
GetAccessControl(String)?
獲取一個(gè) FileSecurity 對象,它封裝指定文件的訪問控制列表 (ACL) 條目。
GetAccessControl(String, AccessControlSections)?
獲取一個(gè) FileSecurity 對象,封裝特定文件的指定類型的訪問控制列表 (ACL) 項(xiàng)。
GetAttributes(String)?
獲取在此路徑上的文件的 FileAttributes。
GetCreationTime(String)?
返回指定文件或目錄的創(chuàng)建日期和時(shí)間。
GetCreationTimeUtc(String)?
返回指定的文件或目錄的創(chuàng)建日期及時(shí)間,其格式為協(xié)調(diào)通用時(shí) (UTC)。
GetLastAccessTime(String)?
返回上次訪問指定文件或目錄的日期和時(shí)間。
GetLastAccessTimeUtc(String)?
返回上次訪問指定的文件或目錄的日期及時(shí)間,其格式為協(xié)調(diào)通用時(shí) (UTC)。
GetLastWriteTime(String)?
返回上次寫入指定文件或目錄的日期和時(shí)間。
GetLastWriteTimeUtc(String)?
返回上次寫入指定的文件或目錄的日期和時(shí)間,其格式為協(xié)調(diào)通用時(shí) (UTC)。
Move(String, String)?
將指定文件移到新位置,提供要指定新文件名的選項(xiàng)。
Open(String, FileMode)?
通過不共享的讀/寫訪問權(quán)限打開指定路徑上的 FileStream。
Open(String, FileMode, FileAccess)?
通過指定的模式和不共享的訪問權(quán)限打開指定路徑上的 FileStream。
Open(String, FileMode, FileAccess, FileShare)?
打開指定路徑上的 FileStream,具有帶讀、寫或讀/寫訪問的指定模式和指定的共享選項(xiàng)。
OpenRead(String)?
打開現(xiàn)有文件以進(jìn)行讀取。
OpenText(String)?
打開現(xiàn)有 UTF-8 編碼文本文件以進(jìn)行讀取。
OpenWrite(String)?
打開一個(gè)現(xiàn)有文件或創(chuàng)建一個(gè)新文件以進(jìn)行寫入。
ReadAllBytes(String)?
打開一個(gè)二進(jìn)制文件,將文件的內(nèi)容讀入一個(gè)字節(jié)數(shù)組,然后關(guān)閉該文件。
ReadAllLines(String)?
打開一個(gè)文本文件,讀取文件的所有行,然后關(guān)閉該文件。
ReadAllLines(String, Encoding)?
打開一個(gè)文件,使用指定的編碼讀取文件的所有行,然后關(guān)閉該文件。
ReadAllText(String, Encoding)?
打開一個(gè)文件,使用指定的編碼讀取文件中的所有文本,然后關(guān)閉此文件。
ReadAllText(String)?
打開一個(gè)文本文件,讀取文件中的所有文本,然后關(guān)閉此文件。
ReadLines(String)?
讀取文件的行。
ReadLines(String, Encoding)?
讀取具有指定編碼的文件的行。
Replace(String, String, String)?
使用其他文件的內(nèi)容替換指定文件的內(nèi)容,這一過程將刪除原始文件,并創(chuàng)建被替換文件的備份。
Replace(String, String, String, Boolean)?
用其他文件的內(nèi)容替換指定文件的內(nèi)容,這一過程將刪除原始文件,并創(chuàng)建被替換文件的備份,還可以忽略合并錯(cuò)誤。
SetAccessControl(String, FileSecurity)?
將 FileSecurity 對象描述的訪問控制列表 (ACL) 項(xiàng)應(yīng)用于指定的文件。
SetAttributes(String, FileAttributes)?
獲取指定路徑上的文件的指定 FileAttributes。
SetCreationTime(String, DateTime)?
設(shè)置創(chuàng)建該文件的日期和時(shí)間。
SetCreationTimeUtc(String, DateTime)?
設(shè)置文件創(chuàng)建的日期和時(shí)間,其格式為協(xié)調(diào)通用時(shí) (UTC)。
SetLastAccessTime(String, DateTime)?
設(shè)置上次訪問指定文件的日期和時(shí)間。
SetLastAccessTimeUtc(String, DateTime)?
設(shè)置上次訪問指定的文件的日期和時(shí)間,其格式為協(xié)調(diào)通用時(shí) (UTC)。
SetLastWriteTime(String, DateTime)?
設(shè)置上次寫入指定文件的日期和時(shí)間。
SetLastWriteTimeUtc(String, DateTime)?
設(shè)置上次寫入指定的文件的日期和時(shí)間,其格式為協(xié)調(diào)通用時(shí) (UTC)。
WriteAllBytes(String, Byte[])?
創(chuàng)建一個(gè)新文件,在其中寫入指定的字節(jié)數(shù)組,然后關(guān)閉該文件。 如果目標(biāo)文件已存在,則覆蓋該文件。
WriteAllLines(String, String[], Encoding)?
創(chuàng)建一個(gè)新文件,使用指定編碼在其中寫入指定的字符串?dāng)?shù)組,然后關(guān)閉該文件。
WriteAllLines(String, IEnumerable<String>, Encoding)?
使用指定的編碼創(chuàng)建一個(gè)新文件,向其中寫入一個(gè)字符串集合,然后關(guān)閉該文件。
WriteAllLines(String, String[])?
創(chuàng)建一個(gè)新文件,在其中寫入指定的字節(jié)數(shù)組,然后關(guān)閉該文件。
WriteAllLines(String, IEnumerable<String>)?
創(chuàng)建一個(gè)新文件,向其中寫入一個(gè)字符串集合,然后關(guān)閉該文件。
WriteAllText(String, String)?
創(chuàng)建一個(gè)新文件,向其中寫入指定的字符串,然后關(guān)閉文件。 如果目標(biāo)文件已存在,則覆蓋該文件。
WriteAllText(String, String, Encoding)?
創(chuàng)建一個(gè)新文件,使用指定編碼向其中寫入指定的字符串,然后關(guān)閉文件。 如果目標(biāo)文件已存在,則覆蓋該文件。
實(shí)現(xiàn)
讀取文件
ReadAllLines
以行的方式進(jìn)行讀取,返回字符數(shù)組。
string[] contents = File.ReadAllLines(@"C:\Users\Administrator\Desktop\1.txt", Encoding.Default);foreach (string item in contents){Console.WriteLine(item);}Console.ReadKey();?
ReadAllText
以文本方式讀取,返回字符串
String str = File.ReadAllText(@"C:\Users\Administrator\Desktop\1.txt", Encoding.Default); Console.WriteLine(str); Console.ReadKey();?
寫入文件
WriteAllBytes
以字節(jié)數(shù)組方式寫入文件,會(huì)覆蓋原文件內(nèi)容。
string str = "霸道流氓氣質(zhì)";//將字符串轉(zhuǎn)換成字節(jié)數(shù)組byte[] buffer = encoding.default.getbytes(str);file.writeallbytes(@"c:\users\administrator\desktop\new.txt", buffer);console.writeline("寫入成功");console.readkey();?
WriteAllLines
一行一行的寫入,會(huì)覆蓋原文件內(nèi)容。
?? File.WriteAllLines(@"C:\Users\Administrator\Desktop\1.txt", new string[] { "霸道", "流氓" });Console.WriteLine("OK");Console.ReadKey();?
WriteAllText
按字符串寫入,會(huì)覆蓋原文件內(nèi)容。
? File.WriteAllText(@"C:\Users\Administrator\Desktop\1.txt", "人的成長最重要的是要腳踏實(shí)地一步一個(gè)腳印慢慢向上。");Console.WriteLine("OK");Console.ReadKey();?
追加文件內(nèi)容
AppendAllText
不會(huì)覆蓋原文件內(nèi)容
File.AppendAllText(@"C:\Users\Administrator\Desktop\1.txt","追加測試");Console.WriteLine("OK");Console.ReadKey();?
相對路徑與絕對路徑
以上都是絕對路徑,就是在電腦中實(shí)際存儲(chǔ)的路徑。
相對路徑是相對項(xiàng)目目錄下bin下Debug或Release目錄。
String str = File.ReadAllText("2.txt", Encoding.Default);Console.WriteLine(str);Console.ReadKey();?
總結(jié)
以上是生活随笔為你收集整理的C#中File类的常用读取与写入文件方法的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中计时器Stopwatch的使用
- 下一篇: VS2013中提示:没有可放置在工具箱上