C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でテキストファイルを開いて読み込む方法【StreamReaderクラスの基本】

C#でプレーンテキストファイル(.txtなど)を開いて読み込むには、StreamReaderクラスを使用するのが一般的です。StreamReaderはSystem.IO名前空間に属しており、ファイルを1行ずつ効率的に読み取ることができます。

StreamReaderでファイルを開く

まず、読み込み対象のファイルパスを指定して、StreamReaderのインスタンスを作成します。

StreamReader sr = new StreamReader("d:/new.txt");

ファイルの内容を1行ずつ表示する

ReadLine()メソッドを使うと、ファイルから1行ずつ文字列を読み込めます。戻り値がnullになった時点がファイルの終端(EOF)なので、whileループと組み合わせるのが定番の書き方です。

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

完全なサンプルコード

以下は、例外処理(try-catch)やusingステートメントを含んだ実践的なコード例です。usingを使うことで、処理終了後にファイルが自動的に閉じられ、リソースリークを防げます。

using System;
using System.IO;

namespace FileApplication {
    class Program {
        static void Main(string[] args) {
            try {

                using (StreamReader sr = new StreamReader("d:/new.txt")) {
                    string line;

                    // ファイルの末尾に達するまで行を読み込み、表示する
                    while ((line = sr.ReadLine()) != null) {
                        Console.WriteLine(line);
                    }
                }
            } catch (Exception e) {
                // エラー内容をユーザーに通知する
                Console.WriteLine("ファイルを読み込めませんでした:");
                Console.WriteLine(e.Message);
            }
            Console.ReadKey();
        }
    }
}

実行結果(ファイルが存在しない場合)

指定したパスにファイルが存在しない場合は、catchブロックで例外が捕捉され、次のようなエラーメッセージが表示されます。

ファイルを読み込めませんでした:
Could not find a part of the path "/home/cg/root/4281363/d:/new.txt".

ポイントまとめ

  • StreamReaderクラス:テキストファイルを1行ずつ読み込むための標準的なクラス
  • ReadLine()メソッド:1行ずつ読み込み、ファイル終端ではnullを返す
  • usingステートメント:ファイルの自動クローズにより安全なリソース管理を実現
  • try-catch:ファイルが存在しない・アクセス権がないなどの例外に対応可能

補足:文字コードを指定したい場合

Shift-JISなどの特定の文字コードで保存されたファイルを読む場合は、第2引数にEncodingを指定します。

using (StreamReader sr = new StreamReader("d:/new.txt", Encoding.GetEncoding("shift_jis"))) {
    // 処理
}

なお、ファイル全体を一括で読みたい場合は、より簡潔に書けるFile.ReadAllText()メソッドも便利です。用途に応じて使い分けるとよいでしょう。

  1. Windows 10でGZファイルを開く方法|コマンドプロンプト・7-Zip・オンライン解凍の手順を徹底解説

    大容量のファイルは、保存や共有を簡単かつスピーディーに行うために、RARやZIP形式に圧縮されることが一般的です。同じように、GZもファイルを圧縮するためのアーカイブ形式の一つです。ZIPファイルを目にする機会は多いものの、GZファイルはあまり馴染みがないという方も少なくないでしょう。初めてGZファイルを受け取った場合、「Windows 10でどう開けばいいのか」「Androidスマホでは開けるのか」「オンラインで解凍できるのか」など、さまざまな疑問が浮かぶかもしれません。この記事では、こうした疑問すべてに対する答えをわかりやすく解説します。 GZファイルとは?基本情報をおさらい GZファイル

  2. .DATファイルとは?Windows 10での開き方と変換方法を徹底解説

    拡張子が「.dat」のファイルは、インストールされたアプリケーションの情報を保存する汎用データファイルです。設定ファイルの中に含まれていることもあります。これらのファイルは、複数のアプリケーションがそれぞれのプログラム内で特定の操作を参照するために使用されることが多く、中身はバイナリデータであるため、そのままでは内容を判読できません。 .DATファイルはアプリのデータフォルダに保存されているのが一般的で、動画ファイルがこの形式で保存されていたり、メールの添付ファイルが破損していたりする場合に目にすることがあります。アイコンが空白になっているこのようなファイル、どうやって開けばいいのか気になった