ホームページ  >  記事  >  バックエンド開発  >  C# ストリームリーダー

C# ストリームリーダー

WBOY
WBOYオリジナル
2024-09-03 15:23:26369ブラウズ

特定のエンコーディングに従うストリームに文字を読み取るには、C# の StreamReader クラスと呼ばれるクラスを利用します。StreamReader クラスの StreamWriter.Read() メソッドは、次の文字または次のセットを読み取る役割を果たします。ストリームからの文字の。 TextReader クラスは StreamReader クラスの基本クラスであり、StreamReader クラスは TextReader クラスから継承され、この TextReader クラスは文字、ブロック、行などを読み取るために使用できるいくつかのメソッドを提供します。System.IO.namespace はStreamReader が定義されている名前空間。StreamReader クラスは、Peak、Read、ReadAsync、ReadBlock、ReadBlockAsync、ReadLine、ReadLineAsync、ReadToEnd、ReadToEndAsync などのいくつかの読み取りメソッドを提供します。

構文:

C# の StreamReader クラスの構文は次のとおりです。

public class StreamReader: System.IO.TextReader

C# の StreamReader クラスの関数

  • データは C# の Streams を使用してファイルから読み取られます。
  • ストリームは、アプリケーションとファイルの間の追加のレイヤーです。
  • ストリームを利用することでファイルからのデータをスムーズに読み込むことができます。
  • ストリームは、大きなファイルから分割された小さなデータの塊を受け取ります。アプリケーションはストリームからこれらの小さなデータの塊を読み取ることができ、大きなファイルからすべてのデータを直接読み取る必要はありません
  • アプリケーションが大きなファイルからすべてのデータを読み取ろうとすると、アプリケーションのパフォーマンスに影響します。
  • したがって、データは大きなファイル自体ではなく、ストリームを通じて読み取る必要があります。

ファイルからデータを読み取るための StreamReader の使用法を説明する以下の例を考えてみましょう。

C# StreamReader の例

以下は C# ストリームリーダーの例です

例 #1

コード:

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//a namespace called program is defined
namespace program
{
//a class called check is defined
class check
{
//main method is called
static void Main(string[] args)
{
//the path of the file and the file name is assigned to a string variable
String def = @"D:\imp.txt";
//an instance of the string writer class is created, and the path of the file is passed as a parameter to append text to the file
using (StreamWriter stwr = File.AppendText(def))
{
//data to be appended to the file is included
stwr.WriteLine("Welcome to StreamWriter class in C#");
//the instance of the streamwriter class is closed after writing data to the File
stwr.Close();
try
{
// an instance of stream reader class is created, and data is read from the file by taking the path of the file as parameter
using (StreamReader read = new StreamReader(def))
{
//a string variable is defined
string line1;
// Data is being read one line after the other
while ((line1 = read.ReadLine()) != null)
{
Console.WriteLine(line1);
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadKey();
}
}
}
}

出力:

C# ストリームリーダー

上記のプログラムでは、プログラムは定義された名前空間です。次に、クラスが定義されているかどうかを確認します。次に、main メソッドが呼び出されます。次に、文字列変数にファイル名とファイル パスが割り当てられます。次に、文字列ライター クラスのインスタンスが作成され、ファイル パスがパラメータとして渡されて、テキストをファイルに書き込みます。次に、ファイルに書き込まれるデータが含まれます。次に、ファイルにデータを書き込んだ後、ストリーム ライター クラスのインスタンスが閉じられます。次に、ストリーム リーダー クラスのインスタンスが作成され、ファイルのパスをパラメータとして取得してファイルからデータが読み取られます。次に、文字列変数が定義されます。その後、データが 1 行ずつ読み取られます。プログラムの出力は、上のスナップショットに示されているとおりです。

例 #2

StreamReader クラスの使用法を説明する C# プログラム:

コード:

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//a class called check is defined
class check
{
//main method is called
static void Main()
{
String fin = @"D:\Ex.txt"
//an instance of streamwriter class is created and the path of the file is passed as a parameter
using (StreamWriter stwf = new StreamWriter(fin))
{
//write() method of stream writer class is used to write the first line so that the next line continues from here
stwf.Write("Welcome to StreamWriter class in C# and ");
//writeline() method is used to write the second line and the next line starts from a new line
stwf.WriteLine("this program is demonstration of StreamWriter class in C# ");
//writeline() method is used to write the third line and the next line starts from a new line
stwf.WriteLine("I hope you are learning ");
stwf.Dispose();
try
{
// an instance of stream reader class is created, and data is read from the file by taking the path of the file as parameter
using (StreamReader read = new StreamReader(fin))
{
//a string variable is defined
string line1;
// Data is being read one line after the other
while ((line1 = read.ReadLine()) != null)
{
Console.WriteLine(line1);
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Console.ReadKey();
}
}
}

出力:

C# ストリームリーダー

上記のプログラムでは、プログラムは定義された名前空間です。次に、クラスが定義されているかどうかを確認します。次に、main メソッドが呼び出されます。次に、文字列変数にファイル名とファイル パスが割り当てられます。次に、文字列ライター クラスのインスタンスが作成され、ファイル パスがパラメータとして渡されて、テキストをファイルに書き込みます。次に、ストリーム ライター クラスの write() メソッドを使用して最初の行を書き込み、ここから次の行が続くようにします。次に、writeline() メソッドを使用して 2 行目を書き込み、次の行が新しい行から始まります。次に、writeline() メソッドを使用して 3 行目を書き込み、次の行が新しい行から始まります。次に、ストリーム リーダー クラスのインスタンスが作成され、ファイルのパスをパラメータとして取得してファイルからデータが読み取られます。次に、文字列変数が定義されます。その後、データは行の終わりまで 1 行ずつ読み取られます。プログラムの出力は、上のスナップショットに示されているとおりです。

以上がC# ストリームリーダーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。