ファイル操作の実行はプログラマの生活に不可欠な部分であり、すべてのプログラミング言語は同じことを実現するためのさまざまなライブラリや関数を提供しています。 File クラス プロバイダーで利用可能なメソッドを使用して、C# でも同じことを実行できます。一般に、ファイルからの読み取りは、ReadAllText(file) と ReadAllLines(file) の 2 つのメソッドを使用して実行されます。ここで、ファイルは、読み取る必要があるファイルを示します。 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 中国語 Web サイトの他の関連記事を参照してください。