Chemin relatif et fermeture

Résolu
gretata Messages postés 172 Date d'inscription lundi 22 mai 2006 Statut Membre Dernière intervention 19 janvier 2011 - 7 juin 2007 à 14:41
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 8 juin 2007 à 10:44
Bonjour a tous !!

voila j'ai un problémes au niveau de la lecture d'un fichier pour son chemin relatif, je crois avoir trouver:

String

dir =
Directory.GetCurrentDirectory().ToString();//-- pour trouver le chemin de l'exé

StreamWriter

lesAmis =
new
StreamWriter(dir +
"Amis.txt");

pour fermer : lesAmis.Close();

puis sa : Directory.SetCurrentDirectory(dir);

apres une erreur :
Le processus ne peut pas accéder au fichier 'C:\Documents and Settings\tutu\Bureau\Repertoire\Repertoire\bin\DebugAmis.txt', car il est en cours d'utilisation par un autre processus.

pourtant je le ferme.

si ya quelle qu'un qui a deja eu ce probleme je suis prenuer pour une explication

sur ce bonne journée.              
 

11 réponses

cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
8 juin 2007 à 08:41
exemple:

public
class
Program
{
  
public
static
void Main(
string[] args)
   {
      
Program prg =
new
Program();
       prg.Test();
   }

  
public
void Test()
   {
      
Person[] p =
new
Person[10];
       p[0] =
new
Person();
       p[1] =
new
Ami();
       p[2] =
new
Collegue();
       p[3] =
new
Ami();
       p[4] =
new
Famille();
       p[5] =
new
Famille();
       p[6] =
new
Ami();
       p[7] =
new
Person();
       p[8] =
new
Ami();
       p[9] =
new
Famille();

      
if (p.Length > 0)
       {
             
using (
StreamWriter lesAmis =
new
StreamWriter(
Path.Combine(
Directory.GetCurrentDirectory(),
"Amis.txt")))
             
using (
StreamWriter lesFamilles =
new
StreamWriter(
Path.Combine(
Directory.GetCurrentDirectory(),
"Familles.txt")))
             
using (
StreamWriter lesColegues =
new
StreamWriter(
Path.Combine(
Directory.GetCurrentDirectory(),
"Colegues.txt")))
              {
                    
foreach (
Person pers
in p)
                     {

                            if (pers
is
Collegue) pers.Save(lesColegues);
                           
else
if (pers
is
Ami) pers.Save(lesAmis);
                           
else
if (pers
is
Famille) pers.Save(lesFamilles);
                           
// else ...
                     }
              }
       }
   }
}

public
class
Person
{
      
public
void Save(
StreamWriter s)
       {
              s.WriteLine(
"OK " +
this.GetType());
       }
}

public
class
Collegue :
Ami
{
}

public
class
Ami :
Person
{
}

public
class
Famille :
Person
{
}

<hr />
-Blog-
3
Rejoignez-nous