Мне нужно приложение для определения изменений в файловой системе, в частности для определения создания и обновления файлов. Текстовые файлы создаются другим приложением и не закрываются, пока это приложение не завершится, но мне каким-то образом нужно получить добавленное к созданному файлу содержимое.
Я слежу за файловой системой с помощью FileSystemWatcher code>, и он перехватывает событие создания, но тут у меня возникает проблема:
Логически, если другое приложение не закрывает файл (и его буфер еще не заполнен), файл, в который выполняется запись, не обновляется. Write-VolumeCache на целевом диске не помогает, но если я открою созданный файл с помощью блокнота, мое приложение получит событие - это означает, что в приложении есть какой-то внешний механизм, который создал файл для информирования о очистке буфера и обновлении ФС. . Что это такое? Если бы я знал, я бы сказал: запускайте эту команду каждую секунду, чтобы получать события, если они есть, отслеживать положение файла и иметь возможность получать добавленное содержимое.
Или, может быть, есть более простой способ? Дело в том, что я лишь частично знаю, где и какое имя будет у файла, поэтому должен следить за конкретным каталогом и его подкаталогами. Перечислять их все каждую секунду — это накладные расходы.
Подробнее здесь: https://stackoverflow.com/questions/793 ... m-flushing
Выявлять изменения в ФС (файле) каждую секунду, заставляя созданный файл программно очищать буферы записи. ⇐ C#
Место общения программистов C#
1736946022
Anonymous
Мне нужно приложение для определения изменений в файловой системе, в частности для определения создания и обновления файлов. Текстовые файлы создаются другим приложением и не закрываются, пока это приложение не завершится, но мне каким-то образом нужно получить добавленное к созданному файлу содержимое.
Я слежу за файловой системой с помощью FileSystemWatcher code>, и он перехватывает событие создания, но тут у меня возникает проблема:
Логически, если другое приложение не закрывает файл (и его буфер еще не заполнен), файл, в который выполняется запись, не обновляется. Write-VolumeCache на целевом диске не помогает, но если я открою созданный файл с помощью блокнота, мое приложение получит событие - это означает, что в приложении есть какой-то внешний механизм, который создал файл для информирования о очистке буфера и обновлении ФС. . Что это такое? Если бы я знал, я бы сказал: запускайте эту команду каждую секунду, чтобы получать события, если они есть, отслеживать положение файла и иметь возможность получать добавленное содержимое.
Или, может быть, есть более простой способ? Дело в том, что я лишь частично знаю, где и какое имя будет у файла, поэтому должен следить за конкретным каталогом и его подкаталогами. Перечислять их все каждую секунду — это накладные расходы.
Подробнее здесь: [url]https://stackoverflow.com/questions/79358314/identify-changes-to-fs-file-every-second-forcing-file-created-program-flushing[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия