0

私のコードでは、ユーザーがテキスト ファイルを開くことができ、行ごとのテキスト ファイルの内容が配列内に配置されていますが、テキスト ファイルの内容が 100,000 行以上になるとプログラムがフリーズします。backgroundworker を試してみましたが、OpenFileDialog をサポートしていないようです。

1,000 行以下では問題なく動作しますが、このプログラムには 100,000 行以上のテキストが必要です。フリーズしないようにパフォーマンスを微調整する方法はありますか?

ここに私のコードがあります:

 Dim Stream As System.IO.FileStream

    Dim Index As Integer = 0

    Dim openFileDialog1 As New OpenFileDialog()
    openFileDialog1.InitialDirectory = "D:\work\base tremble"
    openFileDialog1.Filter = "txt files (*.txt)|*.txt"
    openFileDialog1.FilterIndex = 2
    openFileDialog1.RestoreDirectory = True

    If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
        Try

            Stream = openFileDialog1.OpenFile()
            If (Stream IsNot Nothing) Then

                Dim sReader As New System.IO.StreamReader(Stream)
                Do While sReader.Peek >= 0
                    ReDim Preserve eArray(Index)
                    eArray(Index) = sReader.ReadLine
                    RichTextBox3.Text = eArray(Index)
                    Index += 1

                    'Delay(2)
                Loop
                Label1.Text = "0/" & eArray.Length & ""
            End If
        Catch Ex As Exception
            MessageBox.Show(Ex.Message)
        Finally
            If (Stream IsNot Nothing) Then
                Stream.Close()
            End If
        End Try
    End If

End Sub
4

1 に答える 1