Comment verrouiller un fichier avec C #?
Je ne suis pas sûr de ce que les gens veulent dire habituellement par "verrouiller" un fichier, mais ce que je veux, c'est faire de cette chose à un fichier qui vous permettra de produire un "Le fichier spécifié est en cours d'utilisation" message d'erreur lorsque j'essaie de l'ouvrir avec une autre application.
Je veux le faire pour tester mon application pour voir comment il se comporte quand j'essaie d'ouvrir un fichier qui est sur cet état. J'ai essayé ceci:
FileStream fs = null;
private void lockToolStripMenuItem_Click(object sender, EventArgs e)
{
fs = new FileStream(@"C:\Users\Juan Luis\Desktop\corte.txt", FileMode.Open);
}
private void unlockToolStripMenuItem_Click(object sender, EventArgs e)
{
fs.Close();
}
Mais apparemment, ce n'est pas ce que j'attendais, car j'ai été en mesure d'ouvrir le fichier avec le bloc-notes alors qu'il a été "verrouillé". Alors, comment puis-je verrouiller un fichier de sorte qu'il ne peut pas être ouvert avec une autre application pour mes tests?
source d'informationauteur Juan
Vous devez vous connecter pour publier un commentaire.
Comme par http://msdn.microsoft.com/en-us/library/system.io.fileshare(v=vs. 71).aspx
Vous devez passer dans un
partage de fichiers
valeur de l'énumération deNone
à ouvrir sur leFileStream
surcharges de constructeur:Tout FileShare.Aucun n'est sans aucun doute une solution rapide et facile pour le verrouillage d'un ensemble de fichier, vous pouvez verrouiller une partie d'un fichier à l'aide de FileStream.Lock()
et inversement, vous pouvez utiliser les éléments suivants pour débloquer un fichier: FileStream.Unlock()