IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Problème d'enregistrement dans un fichier.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Par défaut Problème d'enregistrement dans un fichier.
    Bonjour,

    Mon but est d'enregistrer périodiquement un entier dans un fichier excel dans un répertoire spécifique.
    Lorsque le fichier existe, tout marche bien ça enregistre comme il faut. Mais lorsqu'il n'existe pas, il est bien créé mais les valeurs ne sont pas enregistrées.

    L'erreur affichée est :
    System.IO.IOException: The process cannot access the file "C:\Documents and Settings\augiraud\My Documents\Visual Studio Projects\WindowsApplication4\bin\Debug\data\latency_20100802.xls" because it is being used by another process. at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) at System.IO.StreamWriter.CreateFile(String path, Boolean append) at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize) at System.IO.StreamWriter..ctor(String path, Boolean append) at System.IO.File.AppendText(String path) at WindowsApplication4.EnregistrementFichier.enregistrementDelta(Int32 delta) in c:\documents and settings\augiraud\my documents\visual studio projects\windowsapplication4\enregistrementfichier.cs:line 49
    On dirait que lorsque je crée le fichier je garde la main dessus. Comment faire pour reprendre la main?

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    public EnregistrementFichier()
    		{
    			try
    			{
    				m_path = Directory.GetCurrentDirectory();
    				m_fichier = string.Format("latency_{0}.xls",DateTime.Now.ToString("yyyyMMdd"));
     
    				if (!Directory.Exists(".\\data"))
    				{
    					CEventLog.OnDebug("Création du répertoire data.");
    					Directory.CreateDirectory(".\\data");
    				}
     
    				if (!File.Exists(".\\data\\" + m_fichier))
    				{
    					CEventLog.OnDebug("Création du fichier.");
    					File.Create(".\\data\\" + m_fichier);		
    				}
    			}
    			catch (Exception e)
    			{
    				CEventLog.OnError(e.ToString());
    			}
     
    		}
     
    		public void enregistrementDelta (int delta)
    		{
    			StreamWriter sw = null;
     
    			try
    			{
    				string heure = DateTime.Now.ToLongTimeString();
     
    				using (sw = File.AppendText(".\\data\\" + m_fichier))
    				{
    					sw.WriteLine(heure + "\t" + delta.ToString());
    				}
    			}
    			catch (Exception e)
    			{
    				CEventLog.OnError(e.ToString());
    			}
    			finally
    			{
    				if (sw != null) sw.Close();
    			}
    		}
    Merci de m'aider.

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    File.Create laisse le fichier ouvert.
    Fais comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FileStream fs = File.Create(chemin);
    fs.Close();

  3. #3
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Par défaut
    Merci beaucoup! Ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème pour enregistrer dans un fichier XML
    Par Jb_One73 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 14/02/2015, 08h22
  2. problème d'enregistrement dans un fichier txt
    Par constantin22 dans le forum LabVIEW
    Réponses: 1
    Dernier message: 09/10/2012, 06h34
  3. [MySQL] Problème d'enregistrement d'un fichier xlsx dans un Blob MySQL
    Par Claude Poulin dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/05/2011, 19h35
  4. Problème de suppression d'enregistrement dans un fichier vb6
    Par alighieri dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/06/2008, 11h51
  5. Probléme d'enregistrement dans un fichier ini
    Par jv2759 dans le forum Delphi
    Réponses: 2
    Dernier message: 19/05/2006, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo