2010-11-07 5 views
4

hi J'ai un programme qui enregistre des données dans un fichier texte dans un chemin spécifique. (Log.txt) Je peux ouvrir le fichier (log.txt) avec le bloc-notes et lire ce qui est dans il.Lire un fichier ouvert Problème en C#

maintenant j'écris un programme pour lire log.txt mais j'obtiens l'exception "Le processus ne peut pas accéder au fichier 'log.txt' parce qu'il est utilisé par un autre processus."

que dois-je faire?

+0

Avez-vous fermé le flux de StreamReader Class ... –

Répondre

11

Essayez ceci:

using (var stream = File.Open("log.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) 
using (var reader = new StreamReader(stream)) 
{ 
    // Actions you perform on the reader. 
} 

Que vous pouvez ouvrir le fichier dépend de la FileShare que vous avez fourni lors de l'ouverture du fichier journal. Les paramètres dans l'exemple ci-dessus sont assez bas et peut-être aider à ouvrir le fichier.

+1

Yup, permettant FileShare.Write est le plus important. Vous ne pouvez pas refuser l'accès en écriture, le programme l'a déjà acquis. –

+0

J'ai essayé cette solution mais j'ai utilisé seulement FileShare.Read et il n'a pas wotk. Maintenant, je comprends pourquoi je devrais utiliser FileShare.ReadWrite. –

+0

@hans: merci –