发现了一个用于检测目录更改的类,但似乎只适用于Mac桌面,而不是Windows。
https://github.com/renz45/Actionscript/tree/master/Air/filesystem
FileMonitor类仅检测我认为的单个文件的更改。
有没有人知道在Windows桌面上使用AIR检测目录更改的方法?
答案 0 :(得分:0)
监视器仅检查文件夹的修改时间。在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;
}
另见