Cシャープでは、ファイルストリーミング、入力、および出力ストリーミングを使用します。 システムに存在するファイルからデータを読み取るには、ストリームの出力ストリームが必要です。 この目的のために、ソースコードでテキストファイルを提供し、内容を1行ずつ読み取ります。 この記事では、ファイルを読み取るために使用するアプローチについて詳しく説明します。
ファイルの読み取りという現象を1行ずつ実装するために、簡単な例を使用して、cシャープのいくつかの組み込み機能について詳しく説明しました。 ファイルを読み取るには、最初にテキストを含むファイルを作成する必要があるため、Documentsフォルダーに4行のテキストを含むサンプルファイルを作成しました。 既存のファイルを使用することもできます。 その場合、別のファイルを作成する必要はありませんが、ファイルがテキスト形式であることを確認してください。
このファイルは、ソースコードで読み取るために使用されます。 ファイルを作成したら、それを読み取るためのCシャープコードを記述します。 まず、コードに含める2つの基本ライブラリを使用します。 これらのヘッダーファイルは、コードの実行に役立ちます。 Systemとsystem.IOは、入力と出力のストリーミングに使用されます。 コンソールにコンテンツを表示する必要がある場合、またはユーザーが入力するコンソール入力を取得する必要がある場合は、コードで推奨されます。 メインプログラム内で、最初に文字列データ型変数を宣言して、開いて読み取るファイルの名前を格納します。
弦 filetoread = @ “a.txt”;
ファイル内のデータは、文字ごとおよび行ごとに読み取られます。 したがって、この目的のために、配列変数を宣言する必要があります。 すべての行は配列内に格納され、この配列を介してファイルの内容が表示されます。
弦[] 行 = ファイル。ReadAllLines((FileToRead)。;
この宣言には、ファイルの行を読み取るために使用される関数が含まれています。この関数はストリーミングの組み込み機能であるため、ファイルオブジェクトを介してアクセスされます。 この関数のパラメーター内に、そのファイルの名前を含む変数を送信しました。 これを使用して、そのファイルの各行は関数を介してアクセスされ、配列に格納されます。 内容はconsole.writeline()関数を介して表示されます。 この関数のパラメーターには、配列内のコンテンツの新しい行を結合するための環境オブジェクトを持つ関数である結合が含まれます。 結合関数は文字列データ型の機能であり、文字列を介してアクセスされます。 2番目の引数は配列です。
弦。加入((環境。 NewLine、行)。)。
コードを保存し、Ubuntuターミナルで実行します。 UbuntuでCシャープコードをコンパイルするには、MCSコンパイラが必要です。 後で、Monoはコードの実行を支援します。
$モノラルファイル。EXE
コードが実行されると、ファイルの各行がソースコードを介してアクセスおよび表示されることがわかります。
例2
この例では、ReadAllLine()関数の代わりにstreamReader()関数を使用します。 したがって、前の例と同様に、ファイルのすべての内容を表示する新しいテキストファイルを再度作成しました。 テキストファイルを以下に示します。
ソースコードには、ロードして1行ずつ読み取るファイルの名前またはファイルのパスを格納する文字列変数が含まれます。 streamReaderは、newキーワードを使用して動的に作成されます。 sreamreaderのオブジェクトが作成され、それを介してすべてのファイル行が表示されます。
streamReader関数のパラメーターには、開かれるファイルの名前を含む変数名が含まれます。 このオブジェクトの作成を’using’ステートメントで使用し、ループとして機能します。 その中で、ストリームラインのオブジェクトがファイルから行を読み取るときに、文字列型変数を使用してファイルから1行を読み取る変数’Line’を宣言しました。 Line文字列に格納されます。 Readerobjectは、1行を読み取り、それをLine文字列に格納して、コンソールに表示します。 この全体の概念は、whileループを介して行われます。
その間 (((( ライン = ReaderObject。読み込まれた行 (()。 )。 != ヌル )。
whileループはステータスをチェックしますが、readline()関数がnullでない場合は、ファイルの各行をコンソールに出力します。
例3
ファイルの内容を読み取るために使用される別の手法があり、ファイル内のデータを読み取るためにstreamReader()関数も使用します。 この目的のために別の関数が作成されます。 関数内では、sreamreaderは関数パラメーター内のオブジェクトによって作成されます。 ファイル名を使用しました。
シニア。ベースストリーム。求める ((0、seekOrigin。始める)。;
このソースコードで使用される特別な機能は、入力ストリームを介してファイルの読み取りを開始するポイントを指定する識別子です。 これは、streamreaderオブジェクトを介して行われます。 ファイルの内容を最初から読み取る必要があるため、0個のインデックスを書き込みました。 読み取り入力を開始するには、ここでBeginキーワードを使用します。
readline()関数を介してファイルを読み取るために文字列変数が作成されます。 whileループが開始され、文字列オブジェクトを介してファイルの最後の文字まで実行され続けます。 アクセスされた各行は、最初にwriteline()関数を介してコンソールに表示され、次にreadline()によって再度読み取られて文字列に格納され、ループが実行され続けます。 ループが完了すると、ファイルはstreamreaderオブジェクトを介して閉じられます。
メインプログラム内に、readfileの新しいオブジェクトが作成され、それを介して関数呼び出しが行われます。
次に、コードを実行します。 ファイルのすべての内容が1行ずつ表示されます。 また、スペースも文字としてカウントされるため、ファイルに存在する余分なスペースが表示されます。
2番目のケースでファイル内の文字のインデックスを変更すると、ファイルから読み取るデータを開始する必要があり、インデックスはコードで指定した番号に移動します。
たとえば、数値を0から10に変更したため、10番目のポイントの文字が最初に表示される文字になり、それ以降のすべての単語が読み取られてコンソールに表示されます。 10番目の文字は、sharpという単語の「s」です。
結論
ファイルストリーミングは、Cシャーププログラミング言語の重要な機能です。 入力と出力のストリーミングが含まれます。 今日はトピックに従って、ファイルの出力ストリーミングについて説明しました。 ファイルのデータは、ソースコードにテキストファイルの名前を入力することで表示されます。 これには、Cシャープの2つの基本機能が含まれます。1つはReadAllLines()関数で、もう1つはstreamReader()を介したものです。 ストリームリーダー用のオブジェクトを作成し、このオブジェクトを介してファイルにアクセスし、データをコンソールに表示します。
The post C#ファイルを1行ずつ読み取る appeared first on Gamingsym Japan.