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

VB.NET Discussion :

[VB.net] Pb d'ecriture dans un fichier.


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Par défaut [VB.net] Pb d'ecriture dans un fichier.
    Bonjour,
    j'ai un petit soucis avec le code ci dessous. Si mon fichier n'existe pas je le crée mais des que je tente d'ecrire quelque chose dedans j'ai le message suivant

    Message "The process cannot access the file 'C:\mulu.csv' because it is being used by another process."

    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
    Try
                'Test si le fichier existe
                If Not File.Exists(FileName.NomFichierComplet) Then
                    File.Create(FileName.NomFichierComplet)
                    Header = FileName.NomFichier & vbCrLf
                    Header = Header & Format(Now, "dd-mm-yyyy").ToString & vbCrLf
                    newFile = True
                End If
                Sw = New StreamWriter(FileName.NomFichierComplet, True)
                If newFile Then Sw.WriteLine(Header)
                Dim NumBit As Integer = AdrBase
                Dim BitValue As Byte = 0
                For i As Integer = 0 To DataBits.Length - 1
                    BitValue = DataBits(i)
                    For BitPos As Integer = 0 To 7
                        LigneCSV = "%M" & NumBit & ";" & Str(BitValue And 1)
                        BitValue = BitValue >> 1
                        Sw.WriteLine(LigneCSV)
                             NumBit = NumBit + 1
                        If NumBit >= NbrBits Then Exit For
                    Next
                Next
            Catch ex As Exception
                'Gestion des erreurs
            Finally
                Sw.Close()
            End Try
    je pense que ce probleme est connu , mais je trouve pas la solution
    Pouvez me dire ou trouver la solution ?
    @+ Vijeo

  2. #2
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Oui, c'est nomal. File.Create te retourne un FileStream pour lire ou écrire dans le fichier, donc il est déjà ouvert.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Par défaut
    merci pour la reponse, je viens de trouver une solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If Not File.Exists(FileName.NomFichierComplet) Then
                    Dim FileStream As Stream = Nothing
                    FileStream = File.Create(FileName.NomFichierComplet)
                    FileStream.Close()
                    Header = "Nom du fichier : " & FileName.NomFichier & vbCrLf
                    Header = Header & "Date : " & Format(Now, "dd-mm-yyyy").ToString & vbCrLf
                    newFile = True
                End If
    ça marche , mais sur que cela soit la meilleur des methodes

    @+ Vijeo

  4. #4
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Tu devrais remanier la logique de ton programme, ne trouves tu pas idiot d'ouvrir le fichier pour le créer s'il n'existe pas, de le fermer et de le réouvrir plus tard?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Par défaut
    bah si tu as une autre solution je suis preneur car j'ai certainement moins de competence que toi la dessus.
    @ Vijeo.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Par défaut
    ne voyant pas de réponse venir, j'ai trouvé cette solution qui est plus 'inteligente'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Try
                'Test si le fichier existe
                If Not File.Exists(FileName.NomFichierComplet) Then
                    Sw = File.CreateText(FileName.NomFichierComplet)
                    Header = "Nom du fichier : " & FileName.NomFichier & vbCrLf
                    Header = Header & "Date : " & Format(Now, "dd-mm-yyyy").ToString & vbCrLf
                    newFile = True
                Else
                    Sw = New StreamWriter(FileName.NomFichierComplet, True)
                End If
    @+ Vijeo

Discussions similaires

  1. probleme d'ecriture dans un fichier texte
    Par azrael88370 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/01/2005, 17h33
  2. Script shell - écriture dans un fichier
    Par Leishmaniose dans le forum Linux
    Réponses: 6
    Dernier message: 13/12/2004, 22h48
  3. Probleme d'ecriture dans un fichier en mode Text
    Par bbozet dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/01/2004, 13h46
  4. [LG]ecriture dans un fichier binaire
    Par jsaviola dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2003, 17h30
  5. Réponses: 2
    Dernier message: 26/09/2003, 14h51

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