Comment détecter les modifications apscopes aux fichiers à partir de Windows?

Je souhaite suivre les modifications apscopes aux fichiers d’un répertoire et informer les services Web chaque fois qu’ils changent.

Sur Mac, je sais que je peux réagir aux événements du système de fichiers , comme le créer, le modifier, etc.

Quel serait le meilleur moyen de le faire dans Windows? Quelle langue conseillez-vous pour cela? (Je vais construire une interface utilisateur de base pour cela).

L’API native (C ++ / C) est ReadDirectoryChangesW . Dans .Net (C # etc), ceci est encapsulé dans la classe FileSystemWatcher . C # est beaucoup plus facile à programmer, il y a un exemple de code à cette URL.

Ces API sont toutes deux soumises à des événements occasionnels manqués. Il n’y a pas de solution à cela que je connaisse, pas d’alternative facile. Si votre annuaire ne change pas souvent, cela fonctionnera probablement très bien pour vous.

C # a une classe System.IO.FileSystemWatcher qui fera probablement ce que vous voulez. Plus de détails sur le MDSN . Pour C ++, consultez cette question StackOverflow .

Avec Java, nous pouvons utiliser le WatchService pour détecter le type d’événements survenus dans un fichier ou un répertoire spécifique.

L’implémentation est simple car vous pouvez simplement obtenir WatchService depuis FileSystem comme suit:

1- Récupérez le WatchService: WatchService watchService = FileSystems.getDefault (). NewWatchService ();

2- Utilisez le WatchService dans votre fichier:

FILE_LOCATION.register (watchService, StandardWatchEventKinds. ENTRY_MODIFY , StandardWatchEventKinds. ENTRY_DELETE , StandardWatchEventKinds. ENTRY_CREATE )

Après tout, vous pouvez voir tous les types d’événements survenus dans votre fichier comme ci-dessus: StandardWatchEventKinds.ENTRY_MODIFY, ce qui signifie que votre fichier a été modifié.

Pour plus de détails, consultez le lien ci-dessous:

https://github.com/PascoalBayonne/Exercise/blob/master/src/nio/directory/watching/DirectoryWatching.java