[C#] テキストファイルを読み込む

StreamReaderクラス (System.IO) を使うと、テキストファイルを簡単に読み込むことができる。このクラスはTextReaderクラスの派生クラスである。

ファイルの読み込みは、ファイルのオープン、読み込み、クローズの3つの手順から成る。

ファイル全体を一気に読み込む

ReadToEndメソッドを使うと、ファイル全体を一気に読み込むことができる。

エラーが発生すると例外がスローされる。

このサンプルでは文字コードがShift-JISのテキストファイルを読み込んでいる。

文字エンコードのデフォルトはUTF-8なので、UTF-8のテキストファイルを読み込む場合にはEncodingの指定は省略可能。誤ったエンコードを指定すると(たとえばエンコードにUTF-8を指定してShift-JISファイルを読み込むような場合)、読み込まれたテキストが文字化けするので注意が必要だ。

オープンしたファイルは必ずクローズする必要がある。usingステートメントを使うと、明示的にクローズする必要は無くなる。

ファイルを1行ずつ読み込む

ReadLineメソッドを使うと、ファイルから1行だけ読み込むことができる。

“n”、”r”、”rn” の何れかのコードが見つかると行末と認識される。ReadLineメソッドが返す文字列からは行末コードは除去されている。ファイルの末尾に到達すると、ReadLineメソッドはnullを返す。

参考サイト

StreamReader クラス (System.IO)
http://msdn.microsoft.com/ja-jp/library/system.io.streamreader(v=vs.110).aspx