Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 21

Считывание файла

14.07.2019, 16:39. Показов 1856. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть лог файл, который постоянно пишется.
Подскажите пожалуйста, как сделать программу, которая будет постоянно считывать этот файл, но не сначала , а с той строки, где закончилось предыдущее чтение и при этом этот фай нельзя блокировать(занимать другим процессом), можно ли сделать что-то подобное?
ПЕРЕПРОБОВАЛ ВСЁ, но я только начинаю...
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.07.2019, 16:39
Ответы с готовыми решениями:

Считывание из файла
Здраствуйте все кто это читает. Подскажите если знаете, как построчно считывать из txt файла в combobox.it Я вот как делаю,...

Считывание файла
Задача такая Нужно считать файл по указанному пути по 512 кб Я смог сделать только по 1 байту

Побайтовое считывание файла
Помогите пожалуйста с задачей: Написать программу, читающую побайтно заданный файл и подсчитывающую число появлений каждого из 256...

10
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
15.07.2019, 08:53
Ki_rill4, записывается сторонним ПО ?
0
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 21
15.07.2019, 21:38  [ТС]
Да,есть программа,которая пишет этот файл,записывает туда все действия
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
16.07.2019, 00:35
C#
1
File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
0
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 21
16.07.2019, 01:37  [ТС]
Извините, а можно попросить весь код, я это уже пробовал, но всё безуспешно...
Мне ещё надо сделать так, что бы программа запоминала крайнюю строку, которую считала и в следующее считывание начиналось именно с неё, а не сначала файла
Я пока что ещё нуль))))
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
16.07.2019, 11:14
Ki_rill4,
Цитата Сообщение от Ki_rill4 Посмотреть сообщение
и в следующее считывание начиналось именно с неё
это в какой именно момент происходит?
ты как вообще хочешь лог свой видеть, в real-time?
0
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 21
18.07.2019, 08:33  [ТС]
Да, именно в реальное время и не каждый раз заново считывать ,а только именно изменения,что бы потом делать какую нибудь реакцию на появление,например,некоторых слов,что-то в этом роде
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
18.07.2019, 14:17
Лучший ответ Сообщение было отмечено Ki_rill4 как решение

Решение

Цитата Сообщение от Ki_rill4 Посмотреть сообщение
а можно попросить весь код, я это уже пробовал, но всё безуспешно...
Мне ещё надо сделать так, что бы программа запоминала крайнюю строку, которую считала и в следующее считывание начиналось именно с неё, а не сначала файла
Да пожалуйста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.IO;
 
namespace ConsoleApp2
{
    class Program
    {
        static long CurrentPosition = 0;
        static string PathToFile = "D:/file.txt";
        public static void Main(string[] args)
        {
            CurrentPosition = Print(PathToFile, CurrentPosition);
 
            var dog = new FileSystemWatcher(Path.GetDirectoryName(PathToFile));
            dog.Filter = Path.GetFileName(PathToFile);
            dog.NotifyFilter = NotifyFilters.LastWrite;
            dog.IncludeSubdirectories = false;
            dog.Changed += Dog_Changed;
            dog.EnableRaisingEvents = true;
 
            Console.ReadKey();
        }
 
        private static void Dog_Changed(object sender, FileSystemEventArgs e)
        {
            var printed = Print(e.FullPath, CurrentPosition);
 
            if (printed > 0)
            {
                CurrentPosition += printed;
            }
        }
 
        private static long Print(string filePath, long offset)
        {
            using(var stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
            {
                stream.Seek(offset, SeekOrigin.Begin);
 
                using(var reader = new StreamReader(stream))
                {
                    string remainingText = reader.ReadToEnd();
                    Console.Write(remainingText);
 
                    return Math.Max(0, stream.Length - offset);
                }
            }
        }
    }
}
1
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 21
18.07.2019, 20:00  [ТС]
Спасибо огромное, вы мне очень помогли!!

Добавлено через 37 минут
Извините, ещё один вопрос, что там нужно дописать, что бы например была какая-нибудь реакция,если,например, кону или начало строки или вообще присутствует какой-либо определённый текст,например, «разрыв связи», и идёт что-то на подобии реакции,типо MessegeBox, startwith и endWith не работают...

Добавлено через 11 секунд
Извините, ещё один вопрос, что там нужно дописать, что бы например была какая-нибудь реакция,если,например, кону или начало строки или вообще присутствует какой-либо определённый текст,например, «разрыв связи», и идёт что-то на подобии реакции,типо MessegeBox, startwith и endWith не работают...
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
19.07.2019, 09:27
Ki_rill4, такие вещи отмечаются в самом окне логов, например, цветом. в том месте где получаешь строку, которую надо отобразить в окне, добавляешь условие, если строка содержит текст - string.Contains(TemplateText), то закрасить эту строку красным.
0
0 / 0 / 0
Регистрация: 24.05.2019
Сообщений: 21
22.07.2019, 17:46  [ТС]
Спасибо огромное
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.07.2019, 17:46
Помогаю со студенческими работами здесь

Запись и считывание из файла
Здравствуйте! Есть массив целых чисел. К примеру arr = {15, 68 16, ...} Необходимо записать его в xml файл. Вот так должен выглядеть...

Считывание txt файла
Проблема в том что не считать переменные из файла. Фаил выглядит примерно так: 123213,3123|313123,3123|31121,232 ...

Считывание данных из файла .TXT
Подскажите пожалуйста, как в C# организовать считывание данных из файла и после из обработки загнать в другой файл? пример для графов: ...

Считывание файла большого размера
Имеется задача, нужно открыть бинарный файл больших размеров, так, чтобы не произошло переполнение оперативной памяти! Подскажите...

Считывание из файла, проблема с кодировкой
public void Load(string nameFile) { FileStream file = new FileStream(nameFile, FileMode.Open, FileAccess.Read); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru