テキストファイルを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オブジェクトを指定します。