Когда я копирую 200-250 файлов в папку, все происходит идеально. Но если я выбрасываю 1000 файлов, возникает ошибка в случайном порядке - точнее, ключ получает событие event.kind() == OVERFLOW
. И тогда я получаю NPE в коде. Вот и вопрос, как правильно это сделать, чтобы не потерять ключи, а правильно проверить все файлы. Спасибо
while (true) {
WatchKey key;
try {
key = watchService.take();
} catch (Exception e) {
e.printStackTrace();
return;
}
for (WatchEvent<?> event : key.pollEvents()) {
//if key=overflow , fileName = null....
Path fileName = ((WatchEvent<Path>) event).context();
File newFile = new File(directory + fileName.getFileName());
ListAttributes contextLoad = dataManager.load(dbUpdateWorker.contLoad(newFile));
if (event.kind() == ENTRY_CREATE) {
Я видел похожие топи c на форуме, но не понял, как реализуется ответ ...