玄関へお回り下さい。
テキストファイルを読込テキストボックスに表示 (2個)             (SNo.028)

1.テキストファイルを丸ごと読み込みテキストボックスに表示
2.テキストファイルを1行づつ読み込みテキストボックスに表示
使用コントロール Button1  Button2  TextBox1
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
 
1.テキストファイルを丸ごと読み込みテキストボックスに表示
 
Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
'テキストファイルを丸ごと読み込みテキストボックスに表示
    TextBox1.Clear()
    'テキストファイルを現在のエンコード(シフトJIS)で開く
    Dim sr As New System.IO.StreamReader("..\..\test.txt", System.Text.Encoding.Default)
    'テキストボックスに読込み表示
    TextBox1.Text = sr.ReadToEnd
    'ストリームを閉じ、システム リソースを解放
    sr.Close()
End Sub
 
2.テキストファイルを1行づつ読み込みテキストボックスに表示
 
Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
'テキストファイルを1行づつ読み込む
    TextBox1.Clear()
    Dim sr As New System.IO.StreamReader("..\..\test.txt", System.Text.Encoding.Default)
  
'読込むテキストファイルのバッファーを確保(できれば少し多めに)
  
Dim sb As New System.Text.StringBuilder( _
          CInt
(New System.IO.FileInfo("..\..\test.txt").Length))
    'ファイルの最後までループ
    Do Until sr.Peek = -1
        '1行づつ読込む(文字列の連結が高速に処理される)
        sb.Append(sr.ReadLine & vbCrLf)
    Loop
    sr.Close()
    '読込んだデータをテキストボックスに表示
    TextBox1.Text = sb.ToString()
End Sub
 
上記プログラムで、1Mバイトのファイルを読み込みテキストボックスに表示した場合の所要時間

.NET の場合
 
Button1 の場合 0.39 秒
 Button2 の場合 0.40 秒


VB6.0 の場合
 FileSystemObject の場合 約 2.67秒
 Line Input の場合    約10分
 バイナリの場合      約 2.63秒








2004/05/05
2005/09/13


VBレスキュー(花ちゃん)
VB.NET2003  VB2005