AIR-检测目录更改Windows桌面

时间:2013-10-14 21:08:31

标签: windows actionscript-3 air

发现了一个用于检测目录更改的类,但似乎只适用于Mac桌面,而不是Windows。

https://github.com/renz45/Actionscript/tree/master/Air/filesystem

FileMonitor类仅检测我认为的单个文件的更改。

有没有人知道在Windows桌面上使用AIR检测目录更改的方法?

1 个答案:

答案 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;
}

另见