2013-10-14 55 views
0

发现了一个用于检测目录更改的类,但似乎仅适用于Mac桌面,而非Windows。AIR-检测目录更改Windows桌面

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

的FileMonitor类只检测单一文件,我相信改变。

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

+0

见我没有看到的,不会在Windows上运行的主类东西。作者是否只声称自己的Mac?或者你得到一个错误? – 2013-10-14 21:43:22

+0

没有错误,只是不工作:)。决定选择在Windows上进行手动轮询 –

回答

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