header
CodePanic! > C#.NET Tips > 今ここ

■1行ずつ/1文字ずつ読み込む

テキストファイルの中身を
1行ずつ読み込んで表示するサンプルです。

System.IO.StreamReaderクラスを使います。
同クラスのコンストラクタにて
テキストファイル名と
エンコード方式を与えます。

あまり大きなサイズのファイルだと
読み込みに時間がかかってしまうので
サンプルを動かす場合は
小さめのファイルでまずは試してください。

最後にStreamをクローズすることを忘れずに。

サンプルでは
Peek()で事前に読取可能かどうか調べてから
実際にReadLine()で1行ずつ読み込んでいます。

1文字ずつ読み込みたい場合は
ReadLine()の替わりにRead()を使います。

なお、Peek()しただけでは
現在のファイルポインターの位置は変わりません。
Peek()の戻り値が-1の場合
それ以上読み込めるデータが無いことを示します。

【補足】
	ReadLine()の戻り値はstringなので
	加工したい場合は
	1度string型の変数か何かで受けてご自由に。

System.IO.StreamReader m_reader = null;

m_reader = new System.IO.StreamReader( @"c:\hello.txt", System.Text.Encoding.Default );

// 1行ずつ読み込んでリストボックスに追加
while( m_reader.Peek() >= 0 )
    listBox1.Items.Add(m_reader.ReadLine());

m_reader.Close();





Copyright © 2008.07 - shougo suzaki