- Код: Выделить всё
Dim objStreamReader As StreamReader
Dim str, line() As String
Dim enter As String = Chr(13) + Chr(10)
Dim probel As String = " "
Dim sps() As Char = {" "}
objStreamReader = New StreamReader(dlg.FileName)
str = objStreamReader.ReadToEnd
objStreamReader.Close()
str = str.Replace(enter, " ")
str = str.Replace(".", ",")
line = str.Split(sps)
str = Nothing
nx = CInt(line(1))
ny = CInt(line(2))
xmin = CDbl(line(3))
xmax = CDbl(line(4))
ymin = CDbl(line(5))
ymax = CDbl(line(6))
zmin = CDbl(line(7))
zmax = CDbl(line(8))
k = 9
ReDim data(nx, ny)
For j = 0 To ny - 1
For i = 0 To nx - 1
If line(k) <> "" Then
data(i, j) = CDbl(line(k))
k = k + 1
Else
k = k + 1
data(i, j) = CDbl(line(k))
k = k + 1
End If
Next i
Pbar.PerformStep()
Next j
line = Nothing
чем следующий код:
- Код: Выделить всё
FileOpen(1, dlg.FileName, OpenMode.Input, OpenAccess.Read, OpenShare.Default)
Xtxt.Text = Now
s = vb.LineInput(1)
vb.Input(1, nx)
vb.Input(1, ny)
Pbar.Maximum = ny - 1
Pbar.Step = 1
lblout.Text = "Открываю файл..."
vb.Input(1, xmin)
vb.Input(1, xmax)
vb.Input(1, ymin)
vb.Input(1, ymax)
vb.Input(1, zmin)
vb.Input(1, zmax)
ReDim data(nx, ny)
For j = 0 To ny - 1
For i = 0 To nx - 1
vb.Input(1, data(i, j))
Next i
Pbar.PerformStep()
Next j
FileClose(1)
Как еще можно ускорить этот процесс, подскажите пожалуйста. Если делать разбор строк, там у меня получается еще хуже. А файл, который нужно считать может быть еще большего размера (до 1 Gb).