Existe-t-il un moyen de vérifier si un fichier est en cours d'utilisation ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Existe-t-il un moyen de vérifier si un fichier est en cours d'utilisation ?

Message par ForumBot »

Existe-t-il un moyen de vérifier si un fichier est en cours d’utilisation ?

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Existe-t-il un moyen de vérifier si un fichier est en cours d'utilisation ?

Message par ayi »

REMARQUE mise à jour sur cette solution : La vérification avec FileAccess.ReadWrite échouera pour les fichiers en lecture seule, la solution a donc été modifiée pour vérifier avec FileAccess.Read.


ORIGINAL :

J’ai utilisé ce code ces dernières années, et je n’ai eu aucun problème avec.


Comprenez votre hésitation à utiliser les exceptions, mais vous ne pouvez pas les éviter tout le temps :


protected virtual bool IsFileLocked(FileInfo file)
{
try
{
using(FileStream stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None))
{
stream.Close();
}
}
catch (IOException)
{
//the file is unavailable because it is:
//still being written to
//or being processed by another thread
//or does not exist (has already been processed)
return true;
}

//file is not locked
return false;
}

Répondre

Revenir à « .NET & C# »