Это просто вызывает список файлов Java

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

После того как я сгенерировал индекс, есть ли быстрый способ узнать, какие файлы были добавлены или удалены на диске с момента последнего запуска?

РЕДАКТИРОВАТЬЯ не хочу отслеживать события файловой системы. Я думаю, что риск слишком высок, чтобы выйти из синхронизации, я бы предпочел иметь что-то вроде быстрого повторного сканирования, которое быстро находит, где файлы были добавлены / удалены. Может быть, с каталогом даты последнего изменения или что-то?

Маленький эталон

Я только что сделал небольшой тест. Бег

dir /b /s M:\tests\  >c:\out.txt

Занимает 0,9 секунды и дает мне всю необходимую информацию. Когда я использую реализацию Java (так же, как это), это займет около 4,5 секунд. Любые идеи, как улучшить хотя бы этот метод грубой силы?

Похожие сообщения:Как посмотреть, изменился ли подфайл каталога

Ответы на вопрос(10)

Ваш ответ на вопрос