Я планирую создать программу, которая будет просматривать каталог, и если появится новый файл, то она сообщит мне об этом. Но я не хочу использовать API Watch Service. Есть ли какая-нибудь другая простая логика, чтобы сделать то же самое, не используя сторонние API или библиотеки?

Avid Learner

Ответов: 1

Ответы (1)

Интерфейс Watch Service API - самый простой и эффективный способ сделать это, поэтому он и существует.

Вы можете опрашивать каталог и искать изменения. Это имеет некоторые отрицательные стороны.

  • Трудно обнаружить все возможные изменения.
  • Это может быть действительно неэффективно и создавать много мусора, если вы делаете это регулярно или у вас много файлов или и то, и другое.
  • Если вы не применяли это раньше, это может быть чревато ошибками.

Есть ли еще какая-нибудь простая логика, чтобы сделать то же самое?

Повторный звонок

File dir = new File(directoryName);
// note: creates a lot of garbage even if nothing changed.
File[] files = dir.listFiles(); 
if (files != null) {
    // check for changes.

2022 WebDevInsider