【问题标题】:AIR- detect directory change Windows desktopAIR-检测目录更改 Windows 桌面
【发布时间】:2013-10-14 21:08:30
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我在主类中没有看到任何不能在 Windows 上运行的东西。作者是仅声称其 mac 还是您遇到错误?
  • 没有错误,只是不起作用:)。决定在 Windows 上选择手动轮询

标签: windows actionscript-3 air


【解决方案1】:

监视器仅检查文件夹的修改时间。在 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;
}

另见

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多