C#StreamReader でファイルを 1 行ずつ読み込む

スポンサーリンク

ファイルを 1 行読み込むには、System.IO.StreamReader クラスの ReadLine メソッドを使用します。ReadLine メソッドを使って 1 行読み込むとストリームのシーク位置が、次の行に移ります。連続で、ReadLine メソッドを使って読み込むことで、1 行ずつ読み込むことができます。

ReadLine メソッドで読み込む前に、Peek メソッドを使うと次に読み込む文字があるかどうかを確認できます。Peek メソッドは、次の文字が読み取り可能文字でない場合は -1 を返すようになっています。while ステートメントで -1 が返るまで繰り返すことで、最後まで 1 行ずつ読み込むことが可能です。

サンプルコード

以下にサンプルコードを示します。

C# 全般
    // StreamReader の新しいインスタンスを生成する
    System.IO.StreamReader cReader = (
        new System.IO.StreamReader(@"C:\Hoge.txt", System.Text.Encoding.Default)
    );

    // 読み込んだ結果をすべて格納するための変数を宣言する
    string stResult = string.Empty;

    // 読み込みできる文字がなくなるまで繰り返す
    while (cReader.Peek() >= 0) {
        // ファイルを 1 行ずつ読み込む
        string stBuffer = cReader.ReadLine();
        // 読み込んだものを追加で格納する
        stResult += stBuffer + System.Environment.NewLine;
    }

    // cReader を閉じる (正しくは オブジェクトの破棄を保証する を参照)
    cReader.Close();

    // 結果を表示する
    MessageBox.Show(stResult);

関連するリファレンス

準備中です。

スポンサーリンク