Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3120 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [Résolu] [C#] Création puis ouverture d'un fichier => problème

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] [C#] Création puis ouverture d'un fichier => problème

n°1454163
Roodie
Posté le 09-10-2006 à 11:43:21  profilanswer
 

Bonjour à tous,
 
J'ai un bout de code qui crée un fichier puis l'ouvre en écriture.  
Le problème, c'est que j'ai à chaque fois l'IOException suivante :  
The process cannot access the file 'C:\file.txt' because it is being used by another process.
 
Apparemment, le fait de créer le fichier et de l'ouvrir juste après semble poser problème.  
Voici mon code :  

Code :
  1. File.Create("C:\file.txt" );
  2. using (StreamWriter writer = new StreamWriter("C:\file.txt", true))  // -> exception ici
  3. {
  4.   ...
  5. }


Merci bien si vous avez une idée... :)


Message édité par Roodie le 10-10-2006 à 09:46:20
mood
Publicité
Posté le 09-10-2006 à 11:43:21  profilanswer
 

n°1454184
_darkalt3_
Proctopathe
Posté le 09-10-2006 à 12:02:09  profilanswer
 

Code :
  1. c:\\\\file.txt

?


Message édité par _darkalt3_ le 09-10-2006 à 12:02:32

---------------
Töp of the plöp
n°1454265
MagicBuzz
Posté le 09-10-2006 à 14:02:18  profilanswer
 

en plus du \\ y'a un truc que je ne pige pas...
 
le "open" permet de créer le fichier de toute façon, alors je ne vois pas quel est le besoin de le créer au préalable...

n°1454290
Roodie
Posté le 09-10-2006 à 14:25:34  profilanswer
 

J'ai mal posté mon code. En fait, voici le code :  

Code :
  1. File.Create(@"C:\file.txt" );
  2. using (StreamWriter writer = new StreamWriter(@"C:\file.txt", true))  // -> exception ici
  3. {
  4.   writer.WriteLine(message);
  5.   writer.Flush();
  6.   writer.Close();
  7. }


Et ce code plante au "using..." :(

n°1454306
Roodie
Posté le 09-10-2006 à 14:40:30  profilanswer
 

J'ai fait le test ultime :  
Ce test plante :

Code :
  1. FileStream theFile = File.Create(@"C:\file.txt" );
  2. StreamWriter writer = new StreamWriter(@"C:\log\_test.txt" );


Ce test marche :  

Code :
  1. FileStream theFile = File.Create(@"C:\file.txt" );
  2. StreamWriter writer = new StreamWriter(theFile);


Bizarre non ?

Message cité 1 fois
Message édité par Roodie le 09-10-2006 à 14:41:38
n°1454309
_darkalt3_
Proctopathe
Posté le 09-10-2006 à 14:41:25  profilanswer
 

Roodie a écrit :

J'ai mal posté mon code. En fait, voici le code :  

Code :
  1. File.Create(@"C:\file.txt" );
  2. using (StreamWriter writer = new StreamWriter(@"C:\file.txt", true))  // -> exception ici
  3. {
  4.   writer.WriteLine(message);
  5.   writer.Flush();
  6.   writer.Close();
  7. }


Et ce code plante au "using..." :(


ben oui mais y'a toujours qu'un '\' dans ton nom de fichier.


---------------
Töp of the plöp
n°1454315
Roodie
Posté le 09-10-2006 à 14:43:18  profilanswer
 

nan _darkalt3_ :)

Code :
  1. File.Create(@"C:\file.txt" );


équivalent à :  

Code :
  1. File.Create("C:\\file.txt" );


Merci bien. Par contre, regarde mon post au-dessus :)

n°1454355
MagicBuzz
Posté le 09-10-2006 à 15:03:53  profilanswer
 

Roodie a écrit :

J'ai fait le test ultime :  
Ce test plante :

Code :
  1. FileStream theFile = File.Create(@"C:\file.txt" );
  2. StreamWriter writer = new StreamWriter(@"C:\file.txt" );


Ce test marche :  

Code :
  1. FileStream theFile = File.Create(@"C:\file.txt" );
  2. StreamWriter writer = new StreamWriter(theFile);


Bizarre non ?


Ben ça c'est carrément normal hein...
 
1/ de toute façon il faut utiliser la seconde solution, et pas la première
2/ normal que le premier exemple plante, puisque c:\file.txt est déjà ouvert et locké par l'objet "theFile". Il faut détruire "thefile" avant de tenter d'ouvrir à nouveau ton fichier...

n°1454600
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 09-10-2006 à 21:26:28  profilanswer
 

MagicBuzz a écrit :

Ben ça c'est carrément normal hein...
 
1/ de toute façon il faut utiliser la seconde solution, et pas la première
2/ normal que le premier exemple plante, puisque c:\file.txt est déjà ouvert et locké par l'objet "theFile". Il faut détruire "thefile" avant de tenter d'ouvrir à nouveau ton fichier...


+1 :jap:


---------------
J'ai un string dans l'array (Paris Hilton)
n°1454680
Roodie
Posté le 10-10-2006 à 09:46:06  profilanswer
 

Bin en fait, c'est ça : on ne peut pas être à 2 en écriture :)
Merci bien de votre aide :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [Résolu] [C#] Création puis ouverture d'un fichier => problème

 

Sujets relatifs
probleme déploiement d' EJB sous eclipseRécuperer la taille d'un fichier qui se trouve sur un serveur ftp
[Php & MySQL] Problème pour création de tablesComment créer un fichier avs (avisynth) avec vb?
Aide sur création de podcast[HS] Probleme Software
[Résolu] Enregistrement d'animationintegrer une redirection web dans un fichier video
Probleme de taille de police avec Mozilla firefox 
Plus de sujets relatifs à : [Résolu] [C#] Création puis ouverture d'un fichier => problème


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR