.NET C#,VB.NET,VC.NET

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

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

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

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

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

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

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

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

C#
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();
VB.NET
Dim m_reader As System.IO.StreamReader
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())
End While

m_reader.Close()
VC.NET
System::IO::StreamReader *m_reader;

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();
ReadLine()の戻り値はstringなので 加工したい場合は 1度string型の変数か何かで受けて ご自由に。

トップ  > .NET C#,VB.NET,VC.NET
Copyright (C) 2005.09 〜 By Shougo Suzaki

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送