工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# Stream チュートリアル:StreamReader、StreamWriter と例

C# のファイル操作では、通常、ストリームを使用してファイルの読み取りと書き込みを行います。ストリームは、アプリケーションとファイルの間に作成される追加のレイヤーです。ストリームは、ファイルへのスムーズな読み取りおよび書き込み操作を保証するために使用されます。

ストリームは通常、大きなファイルからデータを読み取るときに使用されます。ストリームを使用することで、大きなファイルのデータが小さなチャンクに分割され、ストリームに送信されます。これらのデータのチャンクは、アプリケーションから読み取ることができます。

小さなチャンクに分割する理由は、大きなファイルを一度に読み取ることによるパフォーマンスへの影響のためです。たとえば、100 MB のファイルから一度にデータを読み取ると、アプリケーションがハングして不安定になる可能性があります。最善の方法は、ストリームを使用してファイルを管理しやすいチャンクに分割することです。

そのため、ファイルに対して書き込み操作が実行されると、書き込まれるデータが最初にストリームに書き込まれます。ストリームから、データがファイルに書き込まれます。読み取り操作についても同様です。読み取り操作では、最初にデータがファイルからストリームに転送されます。その後、データはストリームを介してアプリケーションから読み取られます。ストリームを使用して読み書きする方法の例を見てみましょう。

このチュートリアルでは、次のことを学びます-

ストリーム リーダー

ストリーム リーダーは、ストリームを使用してファイルからデータを読み取るために使用されます。ファイルからのデータは、最初にストリームに読み込まれます。その後、アプリケーションはストリームからデータを読み取ります。

この例では、D ドライブに Example.txt というファイルがあると仮定します。ファイルは単純なテキスト ファイルで、以下に示すように 2 行で構成されます

この例では、単純なコンソール アプリケーションを作成し、ファイル ストリームを操作します

ストリームを使用してファイルからデータを読み取る方法の例を見てみましょう。以下のコードを program.cs ファイルに入力してください。

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
    String path = @"D:\Example.txt";

    using (StreamReader sr = File.OpenText(path))
    {
     String s = "";

     while ((s = sr.ReadLine()) != null)
     {
      Console.WriteLine(s);
     }
    }
   Console.ReadKey();
  }
 }
}

コードの説明:-

<オール>
  • まず、ストリーム リーダー オブジェクトを宣言します。ストリーム リーダー オブジェクトは、ファイルからアプリケーションへのストリームを定義するために C# で使用されます。ファイルからデータが読み取られるたびに、データはファイルからストリームにプッシュされます。 File.OpenText は、ファイル「Example.txt」を読み取り専用モードで開くために使用されます。次に、ファイルへのハンドラがストリーム リーダー オブジェクトに送信されます。
  • 次に、ファイルからすべてのデータを読み取るために使用される一時変数「s」を定義します。
  • 次に、ストリーム リーダー メソッド ReadLine を使用して、ストリーム バッファから各行を読み取ります。この操作を実行すると、まず各行がファイルからバッファに転送されます。次に、文字列行がバッファから変数「s」に転送されます。次に、文字列「s」の内容をコンソールに書き込みます。
  • 上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。

    出力:-

    出力から、ストリーム リーダーがファイルから両方の行を読み取ったことがわかります。最後に、ストリームから読み取られた文字列の行がコンソールに送信されました。

    ストリームライター

    ストリーム ライターは、ストリームを使用してファイルにデータを書き込むために使用されます。アプリケーションからのデータは、最初にストリームに書き込まれます。その後、ストリームはデータをファイルに書き込みます。ストリームを使用してファイルからデータを書き込む方法の例を見てみましょう。以下のコードを program.cs ファイルに入力してください。

    using System;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace DemoApplication
    {
      class Tutorial
      {
       static void Main(string[] args)
       {
        String path = @"D:\Example.txt";
        
        using (StreamWriter sr = File.AppendText(path))
        {
         sr.WriteLine("Guru99 - ASP.Net");
         sr.Close();
    
         Console.WriteLine(File.ReadAllText(path));
        }
        Console.ReadKey();
      }
     }
    }

    コードの説明:-

    <オール>
  • まず、ストリーム ライター オブジェクトを宣言します。ストリーム ライター オブジェクトは、ストリームを定義するために C# で使用されます。次に、ストリームを使用して、アプリケーションからファイルにデータを書き込みます。データの書き込みが必要になるたびに、アプリケーションからストリームにデータがプッシュされます。 File.AppendText コマンドは、ファイル「Example.txt」を追加モードで開くために使用されます。次に、ファイルへのハンドラがストリーム ライター オブジェクトに送信されます。
  • ストリーム書き込みメソッド Writeline を使用して、「Guru99 – ASP.Net」という行をストリームに書き込みます。ストリームから、行がファイルに書き込まれます。
  • ファイルへの書き込み後、ストリーム ライターを閉じます。通常、書き込み目的でファイルが不要になったら、ファイル ハンドラを閉じることをお勧めします。
  • 最後に、ファイルの内容を再度読み取り、コンソール ログに書き込みます。これは、行がファイルに書き込まれたかどうかを確認するためです。
  • 上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。

    出力:-

    出力から、「Guru99 – ASP.Net」という行がファイルに正常に追加されたことがわかります。テキストの 3 行すべてがコンソールに表示されます。

    まとめ


    C言語

    1. 例を使用した C++ の For ループ
    2. C++ Switch Case ステートメントと EXAMPLE
    3. 例による配列の C++ 動的割り当て
    4. C++ 基本入出力:Cout、Cin、Cerr の例
    5. 例を使用した C++ STL のスタック
    6. C++ 構造体と例
    7. C++ クラスとオブジェクトと例
    8. C++ の std::list と例
    9. 例を含む C# 抽象クラスのチュートリアル:抽象化とは?
    10. 例を含む C# コレクションのチュートリアル
    11. Java BufferedReader:例を使用して Java でファイルを読み取る方法