Когда JNotify уведомляет о создании файла

Предположим, JNotify прослушивает папку с именем A, и я скопировал файл f в A из папки B, которая не является частью подкаталога A. В какой именно момент JNotify уведомит об этом.

1) Это в тот момент, когда начинается запись в новый файл, т.е. когда вызывается open() для файла, чтобы записать в него?

ИЛИ ЖЕ

2) Это в точке после того, как новый файл полностью записан и закрыт, т.е. когда close() вызывается для файла после завершения записи в него?

И я не уверен, что копирование файла включает запись в файл. Но, думаю, так и должно быть.

Я хотел бы знать сценарий в Ubuntu(Linux). Любая ссылка высоко ценится.

1 ответ

Решение

JNotify не дает никаких гарантий относительно точных сроков доставки уведомлений. обычно это зависит от API операционной системы, и эти API также могут выполнять свою собственную буферизацию (Windows будет вести себя не так, как Linux или Mac).

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

Другие вопросы по тегам