【发布时间】:2016-05-27 12:14:37
【问题描述】:
我必须编写一个程序来读取 .txt 文件中的字符串,并处理数据以返回各种结果。 我遇到的问题是执行时间。
Dim OpenAnswerFile As New OpenFileDialog
OpenAnswerFile.Multiselect = True
Dim strFileName() As String '// String Array.
Dim tempStr As String = "" '// temp String for result.
Dim FileName As String
Dim Watcher As New Stopwatch
If OpenAnswerFile.ShowDialog = DialogResult.OK Then
Watcher.Restart()
For Each FileName In OpenAnswerFile.FileNames
strFileName = IO.File.ReadAllLines(FileName)
For Each myLine In strFileName
tempStr &= myLine & vbNewLine
Next
Next
Watcher.Stop()
Dim TimeToArrays = Watcher.Elapsed
Watcher.Reset()
'========================WRITE TO FILE
Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("c:\test.txt", True)
Watcher.Restart()
file.Write(tempStr)
file.WriteLine(TimeToArrays)
file.WriteLine(Watcher.Elapsed)
Watcher.Stop()
file.Close()
'========================WRITE TO FILE
End If
将这个从 A 到 Z 运行到字典样式的 txt 文件大约需要一分钟,我发现总共只有超过 1MB 的文件。
有什么方法可以加快整个过程?
【问题讨论】:
-
您是否尝试过连接文件而不将它们全部存储在字符串中?
标签: arrays vb.net performance visual-studio io