ファイル操作

[C#] テキストファイルを1行ずつ読み込む(System.IO.StreamReader#ReadLine)

テキストファイルを1行ずつ読み込むサンプルです。

サンプル

例)C:¥test.txtを読み込んでList<string>型にする

(C:¥test.txt)

みかん
ぶどう
りんご

using System.Collections.Generic;
using System.IO;

//テキストファイルパス
string path = @"C:¥test.txt";

//テキストファイルを1行ずつ読み込んでListに取り込む
string str;
List list = new List();
using (var file = new StreamReader(path))
{
  while ((str = file.ReadLine()) != null)
  {
    list.Add(str);
  }
}

(結果)
list → {"みかん", "ぶどう", "りんご"}

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

文字コードを指定したい場合は以下のようになります。

例)文字コードに「Shift-JIS」を指定する

using System.Collections.Generic;
using System.IO;
using System.Text;

//テキストファイルパス
string path = @"C:¥test.txt";

//Encodingの生成(文字コード)
Encoding enc = System.Text.Encoding.GetEncoding("shift_jis");

//テキストファイルを1行ずつ読み込んでListに取り込む
string str;
List list = new List();
using (var file = new StreamReader(path, enc))
{
  while ((str = file.ReadLine()) != null)
  {
    list.Add(str);
  }
}

.Net Coreを使用している場合は以下記事もご覧ください。
[C#] .NET CoreでShift-JISを扱う

備考

  • テキストファイルを1行ずつ読み込むには、
    System.IO.StreamReader#ReadLineを使用します。
  • 文字コードを指定する場合は、第2引数にEncodingオブジェクトを指定します。

-ファイル操作