2013-10-14 106 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; 
}