0

ディレクトリの変更を検出するためのクラスを発見しましたが、Windows ではなく Mac デスクトップでのみ動作するようです。

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

FileMonitor クラスは、私が信じている単一のファイルの変更のみを検出します。

Windows デスクトップで AIR を使用してディレクトリの変更を検出する方法を知っている人はいますか?

4

1 に答える 1

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

こちらもご覧ください

于 2013-10-14T22:47:02.127 に答える