Рейтинг:
6
OriginalGriff
Как предложил A_Griffin, используйте a Класса filesystemwatcher[^] для мониторинга папки.
Кроме того, следите за тем, какие файлы вы уже обработали, и обрабатывайте только те, которых нет в этом списке. (Этот метод работает лучше, чем FileSystemWatcher, если ваше приложение не работает все время). Список может быть помощь в текстовом, JSON, XML или даже БД - зависит от того, что доступно и лучше всего подходит для вас.
peterxuv
- Да! Второе решение должно быть наилучшим. Но я имею отношение к тому, что в то время как handreds тысяч файлов в папке, как я могу сделать приложение, сохраняя высокую эффективность при перезапуске приложения? Если я отслеживаю имена файлов, должно ли приложение снова прочитать все файлы, чтобы проверить, есть ли они в списке? Это пустая трата времени.
OriginalGriff
Это не займет много времени: Windows кэширует содержимое папки, поэтому он может быстро вернуть их - и Linq имеет метод Except, который удалит все те, которые уже есть.
Если вы не читаете все имена, вы не знаете, что там есть! (И нет никакого метода GetFiles, который возвращает только файлы с определенного времени, поэтому вам нужно будет делать это каждый раз, когда вы хотите проверить наличие новых элементов в любом случае, если вы не используете комбинацию списка и FileSystemWatcher)
peterxuv
ОК, я постараюсь его.
Я хотел прочитать время создания файла и записать его в текстовый файл. Но дата и время ПК иногда могут быть неправильными. Так что это кажется не совсем строгим.
@Griff, Спасибо за вашу любезную помощь. ^_^