2016-04-16 9 views
2

現在、私は修正方法がわからない問題に直面しています。私は次のジュリアコードを得ました:ファイルの変更がwatch_fileで確認されたときにファイル名を取得する方法

while true 
    print(watch_file("test")) 
end 

これで、 "test"という名前のディレクトリにすべてのファイルの変更が反映されます。少なくとも窓に。

これですべてうまくいきました。少なくとも、ファイルを作成したり、そのディレクトリにファイルを移動したりするには、ちょっとしたことです。これは私が何を得るの一例である:

("New Textfile.txt",Base.FileEvent(true,false,false)) 

しかし、私はそのファイルを削除したり、名前を変更するとき、私は、削除または名前を変更したファイルのファイル名を得ることはありません。

("",Base.FileEvent(true,false,false)) 

別の方法/機能がありますか?ファイルを削除したり名前を変更した場合でも、ファイル名を取得できますか?それとも、これをアーカイブしてクロスプラットフォームと互換性のある方法ですか?どんな助けもありがたい。

編集:再帰的な監視をサポートする代替手段を私に与えることができれば、それはさらに良いでしょう。

答えて

2

Linuxでは、Julia 0.4.5と0.4.3 watch_fileは常にファイル名を返します。これは非常にプラットフォーム依存の機能(Node.js https://nodejs.org/api/fs.html#fs_caveatsなど)であり、手動ポーリングだけがプラットフォームに依存しないソリューションになります。

関連する問題