C#でテキストファイルから1行ずつ読み込んで配列に格納する
C#でテキストファイルから1行ずつ読み込んで配列に格納する方法
参考 http://smdn.jp/programming/netfx/collections/2_generic_1_list/
配列と言えばArrayであるし
C#の配列について調べていたらArrayListクラスというのがよく出てくるが
これはC#の初期で使用されていたクラスみたいで(今も使えるみたいですが)
どうやら.NET2.0からはジェネリッククラスのList
ArrayListとList
このへんがよくわからなくて躓いてしまった
ではどうやってやるか?を以下まとめてみました
普段はList
Listを使って、テキストファイルから1行ずつ読み込んで配列に要素を格納する方法
test.txtというファイルから1行ずつstring型で読み込んでみる 読み込んだ後、MessageBox.Show()で結果を表示してみる
例えばtest.txtの中身が
2015/09/25 15:12:09 あああああ
2015/09/26 09:23:11 いいいいい
2015/09/29 19:09:00 ううううう
で、Dドライブのすぐ下にファイルを置いていた場合
using System; using System.Collections.Generic; class Sample { static void Main() { using (System.IO.StreamReader file = new System.IO.StreamReader(@"D:¥test.txt", System.Text.Encoding.UTF-8)) { string line = ""; List<string> list = new List<string>(); //空のListを作成する // test.txtを1行ずつ読み込んでいき、末端(何もない行)までwhile文で繰り返す while ((line = file.ReadLine()) != null) { list.Add(line); } MessageBox.Show(list[0]); // 2015/09/25 15:12:09 あああああ MessageBox.Show(list[1]); // 2015/09/26 09:23:11 いいいいい MessageBox.Show(list[2]); // 2015/09/29 19:09:00 ううううう // 配列の長さがわからない場合はforeachで回す foreach (var item in list) { MessageBox.Show(item); } } } }
となります
コンソールアプリケーションだったら、MessageBox.ShowのところはConsole.WriteLineに書き換えてみてください(たぶんいけるはず)