2010-04-09 13 views
1

alt text http://img179.imageshack.us/img179/7827/textwriter.jpgce qui est mauvais à propos de cette méthode TextWriter?

le fichier tf.txt a 0 octets et lorsque vous appelez cette méthode plusieurs fois sur la boucle je reçois:

le processus ne peut pas accéder « » car il est utilisé par un autre processus

+0

Désolé, essayez à nouveau. Trop difficile à lire. – RedFilter

+0

Les petites images de code ne sont pas lisibles. –

+0

Impossible de lire le code, l'image est minuscule. Veuillez attacher le code sous forme de texte, et utilisez le cutton "Code Sample" pour le rendre plus vif. De cette façon, nous pouvons copier le code et le tester nous-mêmes ... et aussi, voir le code est un peu obligatoire. –

Répondre

6

Oui, vous ne fermez pas le TextWriter. Ainsi, le handle de fichier reste ouvert, donc vous ne pouvez pas en créer un autre en écrivant dans le même fichier.

Utilisez une déclaration using:

// Consider using File.CreateText instead, btw 
using (TextWriter writer = new StreamWriter(...)) 
{ 
    ... 
} 

Je suis surpris que votre dossier est vide, il est vrai ... est-il lancer une exception pour la première fois vous l'avez appelé, par exemple dans GetTerms()? Cela l'expliquerait. Vous pourriez aussi avoir besoin d'une instruction using pour IndexReader, d'ailleurs - on ne peut pas vraiment le dire.

0

Pourquoi tw.Close est-il en commentaire? Cela pourrait être la cause de "est utilisé par un autre processus" puisque le fichier serait maintenu ouvert jusqu'à ce qu'il soit fermé.

Questions connexes