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
|