Я работаю с данными twitter api и после сохранения результатов потока в текстовых файлах я ввожу данные в приложение-парсер. То, что я запланировал, это большие файлы данных, поэтому я читал содержимое с использованием разделителя]} для разделения отдельных сообщений, чтобы избежать возможных ошибок? Функция резервного копирования состояла в том, чтобы прочитать данные с помощью буфера, а затем щелкнуть по отдельным сообщениям. Но проблема в том, что в некоторых случаях для одного сообщения возникает исключение памяти. Теперь, когда я смотрю на отдельный пост, он кажется не слишком большим, но текст будет содержать иностранные символы или некоторую кодировку, я полагаю, что вызывает исключение памяти. Я не понял, если именно это еще, но думал, что я хотел бы получить некоторые материалы или советы от сюда ...Исключение outofmemory при чтении xml из файла
myreader.TextFieldType = FileIO.FieldType.Delimited
myreader.SetDelimiters("]}}")
Dim currentRow As String()
Try
While Not myreader.EndOfData
Try
currentRow = myreader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
data = data + currentField
counter += 1
If counter = 1000 Then
Dim pt As New parsingUtilities
If Not data = "" Then
pt.getNodes(data)
counter = 0
End If
End If
Next
Catch ex As Exception
If ex.Message.Contains("MemoryException") Then
fileBKup()
End If
End Try
в другой раз, когда происходит исключение памяти, то я пытаюсь разделить на разные должности:
Dim sampleResults() As String
Dim stringSplitter() As String = {"}}"}
' split the file content based on the closing entry tag
sampleResults = Nothing
Try
sampleResults = post.Split(stringSplitter, StringSplitOptions.RemoveEmptyEntries)
Catch ex As Exception
appLogs.constructLog(ex.Message.ToString, True, True)
moveErrorFiles(form1.infile)
Exit Sub
End Try