執行檔案操作是程式設計師生活中不可或缺的一部分,所有程式語言都提供各種函式庫或函數來實現相同的目的。在 C# 中,可以使用 File 類別提供者中提供的方法完成相同的操作。一般從檔案讀取是使用ReadAllText(file)和ReadAllLines(file)兩個方法,其中file表示需要讀取的檔案。也可以使用 Streamreader 以位元組形式讀取檔案。本文將詳細介紹 C# 中可用於讀取文件的各種方法以及適當的範例。
文法:
ReadAllText() 具有以下語法
public static string ReadAllText (String Path, System.Text.Encoding encoding)
ReadAllLines() 具有以下語法
public static string ReadAllLines(String, Encoding)
此方法讀取檔案中存在的所有行,然後將它們儲存在字串中,然後關閉檔案。
該方法的傳回類型是一個字串,包含文件中的所有內容。此方法在 System.IO 命名空間中可用,與此方法關聯的組件是 mscorlib.dll。
與 ReadAllLines() 方法的 ReadAllText() 相關的異常:
以下是下面提到的以下範例。
代碼:
using System; using System.IO; using System.Text; namespace ReadAllText { class Test { static void Main(string[] args) { var Fpath= @"C:\Vignesh\KB.txt"; string content = File.ReadAllText(Fpath, Encoding.UTF8); Console.WriteLine(content); } } }
輸出:
代碼:
using System; using System.IO; using System.Text; namespace ReadAllLines { class Test { static void Main(string[] args) { var inputfile = @"C:\Vignesh\append.txt"; string[] output = File.ReadAllLines(inputfile, Encoding.UTF8); foreach (string op in output) { Console.WriteLine(op); } } } }
輸出:
1。 StreamReader.ReadToEnd(): 該方法用於從目前位置讀取檔案到流末尾。此方法對應的命名空間是System.Io,組件是mscorblib.dll。
文法:
public override string ReadToEnd ();
輸入參數:此方法不需要任何輸入參數。
傳回:此方法將檔案內容作為流輸出,如果當前位置設定為檔案的最後一個字符,則傳回空字串。
2。 StreamReader.ReadLine(): 此方法從目前流讀取字元並將資料作為字串傳送至輸出。此方法對應的命名空間是System.Io,組件是mscorblib.dll。
文法:
public override string ReadLine();
輸入參數:此方法不需要任何輸入參數。
傳回:傳回目前流的下一行,如果目前流位於最後一行位置則傳回 null。
代碼:
using System; using System.IO; using System.Text; class Program { static void Main(string[] args) { var FP = @"C:\Vignesh\Names.txt"; using var fstre = new FileStream(FP, FileMode.Open, FileAccess.Read); using var sree = new StreamReader(fstre, Encoding.UTF8); string Fcontent = sree.ReadToEnd(); Console.WriteLine(Fcontent); } }
輸出:
代碼:
using System; using System.IO; using System.Text; class Program { static void Main(string[] args) { var filpath = @"C:\Vignesh\TimerJob-2019-08-09.txt"; using var fstre = new FileStream(filpath, FileMode.Open, FileAccess.Read); using var sreee = new StreamReader(fstre, Encoding.UTF8); string cline = String.Empty; while ((cline = sreee.ReadLine()) != null) { Console.WriteLine(cline); } } }
輸出:
代碼:
using System; using System.IO; namespace testclass { class Test { string FPath = @ "C:\Vignesh\Script to 0365 connection.txt"; static void Main(string[] args) { //Check if file is there at the path //ReadallOutput() if (File.Exists(FPath)) { string output = File.ReadAlloutput(FPath); Console.WriteLine(output); } //Check if file is there at the path if (File.Exists(FPath)) { //ReadallLines() string[] Flines = File.ReadAllFlines(FPath); foreach(string line in Flines) Console.WriteLine(line); } //Check if file is there at the path if (File.Exists(FPath)) { //using streamreader using(StreamReader file = new StreamReader(FPath)) { int counter = 0; string lgth; while ((lgth = file.ReadLine()) != null) { Console.WriteLine(lgth); counter++; } file.Close(); } } Console.ReadKey(); } } }
輸出:
代碼:
using System; using System.IO; using System.Text; using System.Threading.Tasks; class TestProgram { static async Task Main(string[] args) { var ip = @" C:\Vignesh\Patching\Patching Steps.txt"; using var fssss = new FileStream(ip, FileMode.Open, FileAccess.Read); using var srrr = new StreamReader(fssss, Encoding.UTF8); //Reading asynchronously string op = await srrr.ReadToEndAsync(); Console.WriteLine(op); } }
輸出:
因此,本文詳細介紹了 C# 中的讀取檔功能。它解釋了可用於執行該操作的各種方法。它還涵蓋了與每種方法相關的各種參數和異常,並結合範例程式的範例進行了詳細解釋。為了更詳細地介紹,建議編寫範例程式並進行練習。
以上是C# 讀取文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!