2

.net では、10 MB などの大きな txt ファイルを読み取る必要があるアプリをコーディングしています。私の問題は、StreamReader を使用してファイルを読み取り、文字列操作を行ってから、結果をリスト ボックスに追加することです。

スレッド化またはバックグラウンド ワーカーを使用すると、処理が非常に遅くなります。文字列ビルダーも使用してみましたが、結果は同じでした。

これに対する解決策はありますか?

4

1 に答える 1

1

ReadAllLinesを使用すると、10MBのテキストファイルを非常にすばやく読み取ることができます。

Dim ss() As String
ss = System.IO.File.ReadAllLines(filename)

次にss、この場合、配列内の文字列を操作できます。

ListBoxを更新するときは、.BeginUpdateと.EndUpdateを使用して、その部分を高速化する必要があります。

Application.DoEventsをループに入れて、Windowsメッセージを処理できるようにすることができます。これにより、システムがロックされているように見えなくなる可能性があります。

于 2013-01-24T03:34:13.980 に答える