Привет, ребята, может кто-нибудь объяснить мне, почему это не работает.
Мне, в основном, нужны текстовые файлы, называемые «Книги» и «Новые книги» ...
Текстовые файлы заполняются из веб-запроса, а затем информация разбирается в текстовых файлах ... при запуске программы Книги и новые книги идентичны и в значительной степени являются копией друг друга.
выполняется больше веб-запросов для обновления текстового файла NewBooks, и когда я сравниваю их, если в NewBook есть строка, которой нет в Books, она добавляет эту строку в третий текстовый файл myNewBooks. Теперь мой исходный код, который я покажу здесь, работает так, как я ожидал
Dim InitialBooks = File.ReadAllLines("Books.json")
Dim TW As System.IO.TextWriter
'Create a Text file and load it into the TextWriter
TW = System.IO.File.CreateText("myNewBooks.JSON")
Dim NewBooks = String.Empty
Using reader = New StreamReader("NewBooks.json")
Do Until reader.EndOfStream
Dim current = reader.ReadLine
If Not InitialBooks.Contains(current) Then
NewBooks = current & Environment.NewLine
TW.WriteLine(NewBooks)
TW.Flush()
'Close the File
End If
Loop
End Using
TW.Close() : TW.Dispose()
но поскольку часть строки в строках моего текстового файла содержит URL-адрес, который иногда я нахожу в одной и той же книге с другим URL-адресом ... Я получал дубликаты записей книг, потому что URL-адрес был единственным отличием. Поэтому я подумал, что разделю строку перед URL-адресом, чтобы я просто сравнил заголовок, описание и регион ... например, строка в моих текстовых файлах выглядит примерно так:
{"Title": "My Title Here", "Description": "My Description Here", "Region": "My Region Here", "Url": "My Url Here", "Image": "My Изображение здесь "};
Итак, сегодня один парень помог мне понять, как разбить мою линию, чтобы она выглядела примерно так:
{"Title": "My Title Here", "Description": "My Description Here", "Region": "My Region Here", "Url"
это здорово, но теперь, когда я сравниваю, он не видит, что первая строка содержит разделенную строку, и я не понимаю, почему ... вот код после того, как он был изменен.
Dim InitialBooks = File.ReadAllLines("Books.json")
Dim TW As System.IO.TextWriter
'Create a Text file and load it into the TextWriter
TW = System.IO.File.CreateText("myNewBooks.JSON")
Dim NewBooks = String.Empty
Using reader = New StreamReader("NewBooks.json")
Do Until reader.EndOfStream
Dim current = reader.ReadLine
Dim splitAt As String = """Url"""
Dim index As Integer = current.IndexOf(splitAt)
Dim output As String = current.Substring(0, index + splitAt.Length)
If Not InitialBooks.Contains(output) Then
NewBooks = current & Environment.NewLine
TW.WriteLine(NewBooks)
TW.Flush()
'Close the File
End If
Loop
End Using
TW.Close() : TW.Dispose()
Ваша мудрость была бы оценена !!