2009-07-24 5 views
12

Je souhaite vérifier si une liste de fichiers est en cours d'utilisation ou non accessible en écriture avant de commencer à remplacer les fichiers. Bien sûr, je sais que l'heure à partir de la vérification de fichier et de la copie de fichier, il ya une chance qu'un ou plusieurs fichiers vont être verrouillés par quelqu'un d'autre mais je gère ces exceptions. Je veux exécuter ce test avant la copie du fichier car la liste complète des fichiers a une meilleure chance de réussir que si un fichier au milieu de l'opération ne peut être remplacé.C#: Vérifier si un fichier n'est pas verrouillé et inscriptible

un de vous un exemple ou un indice dans la bonne direction

+1

en double de http://stackoverflow.com/questions/1304/how-to-check-for-file-lock-in-c – TheVillageIdiot

Répondre

-2

Lire un octet, écrire même octet?

0

Vous devez ouvrir chaque fichier pour l'écriture afin de le tester.

9

Il n'y a aucune garantie que la liste que vous obtenez, à tout moment, va rester le même la prochaine seconde que quelqu'un d'autre pourrait prendre le contrôle du dossier au moment où vous revenez à eux.

Je vois cependant un moyen - "LOCK" les fichiers que vous voulez remplacer en obtenant leurs objets FileStream correspondants. De cette façon, vous êtes sûr que vous avez verrouillé tous les fichiers "disponibles" en les ouvrant et ensuite vous pouvez les remplacer comme vous le souhaitez. Cela dit, il est préférable d'essayer de les remplacer un par un et d'ignorer ceux que vous ne pouvez pas.

Questions connexes