Монитор проверяет только время модификации папок. В Windows поведение обновления времени изменения папки очень ненадежное, попробуйте добавить новый файл, вероятно, вы увидите, что он обновляет время изменения папок, а не при изменении содержимого файла.
Для более надежного поведения вам нужно будет проверить время модификации всех файлов и подпапок.
Ниже приведен пример измененного метода DirectoryMonitor.traverseDirectoryTree
, который также включает в себя файлы. Это не проверено полностью, и с растущим количеством вложенных файлов и папок вы можете столкнуться с проблемами производительности, но в итоге это всего лишь пример.
private function traverseDirectoryTree(dir:File):Vector.<File>
{
var list:Vector.<File> = new Vector.<File>;
list.push(dir);
for each (var file:File in dir.getDirectoryListing())
{
if(!file.isHidden)
{
list.push(file);
if(file.isDirectory)
{
list = list.concat(traverseDirectoryTree(file));
}
}
}
return list;
}
Смотрите также
я не вижу ничего в главном классе, который не будет работать на Windows. Проверяет ли автор только его mac или вы получаете сообщение об ошибке? –
нет ошибки, просто не работает :). Решил выбрать ручной опрос в Windows –