Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > чтение строки из определённого места текст. файла


Автор: DENSHER 5.8.2010, 11:57
Привет всем!

Столкнулся с проблемой считывание логов сторонней программы.

Поскольку сторонняя программа пишет логи (добавляет текст) в текстовой файл в реальном времени  , я сделал считывание этого лог файла в RichTextBox1. Но через 20 минут в лог файле уже 2000 строчек (при максимальной нагрузки) и из-за этого проект начинает напрягаться при чтение лог файла и добавления текста в RichTextBox1.
Плюс ко всему сжирает ЦП аж 40 - 57% и проект подвисает страшно.

Вот по сути что надо:
1. Считать все строки из файла.
2. Подождать 1 минуту.
3. Считать все добавившиеся строки.
4. Повторить с пункта 2. 

Пункт - 1, 2 и 4 я сделал!

Как сделать пункт 3?

Автор: diadiavova 5.8.2010, 13:03
Код

    Function ReadFromPosition(ByVal fileName As String, ByVal offset As Long) As String
        Dim fs As New IO.FileStream(fileName, IO.FileMode.Open, IO.FileAccess.Read)
        Dim rdr As New IO.StreamReader(fs)
        fs.Seek(offset, IO.SeekOrigin.Current)
        ReadFromPosition = rdr.ReadToEnd
        rdr.Close()
    End Function

Автор: DENSHER 5.8.2010, 19:42
diadiavova , спасибо за пример.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)